db gridde hata

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ufb1453
Üye
Mesajlar: 52
Kayıt: 14 Oca 2014 09:41
İletişim:

db gridde hata

Mesaj gönderen ufb1453 »

Kod: Tümünü seç

procedure TForm2.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);var
kontrol :boolean;
a,b: string;
ad,soyad :string;
begin
if button=nbdelete then
  begin
   a:=  dbgrid1.DataSource.DataSet.FieldValues [('Adi')];
   b:= dbgrid1.DataSource.DataSet.FieldValues [('Soyadi')];
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select Adi from kullanicilar where Adi=:a');
    adoquery1.parameters.ParamByName('a').Value:=a;
    adoquery1.Open;
    ad:=adoquery1.FieldByName('Adi').AsString;
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select Soyadi from kullanicilar where Soyadi=:b')  ;
    adoquery1.parameters.ParamByName('b').Value:=b;
    adoquery1.Open;
    soyad:=adoquery1.FieldByName('Soyadi').AsString;
    kontrol:=adotable2.Locate('Adi;Soyadi',varArrayof([ad,soyad]),[]);
  end;
     try
      if kontrol then
        begin
          adoquery1.Close;
          Adoquery1.SQL.Clear;
          adoquery1.SQL.Add('delete from kullanicilar where Adi=:ad and Soyadi=:soyad' ) ;
          adoquery1.Open;
          adoquery1.ExecSQL;
        end;
     except




 end;
end;
kodlar çalışıyor ancak aşağıda belirtilen hataları veriyor bu hatalar önemlimidir yoksa kayda değer bir hata değilmidir? yardımcı olurmusunuz?

1. hata
project.project1.exe raised exception class EvariantTypeCastError with message ' could not convert variant of type (Null) into type (Ole str)'// bu hata son kaydı sildiğimde oluşuyor

2. hata
project.project1.exe raised exception class EdatabaseError with message 'ADOQuery1: Commandtext does not return a result set'

Saygılarımla
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2381
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: db gridde hata

Mesaj gönderen freeman35 »

db gridlerin huyudur bu, hep böyle yaparlar, ne işe yaradıklarını, ne yaptıklarını bilmezler.
adoquery1.Open;
adoquery1.ExecSQL;
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
gaus
Üye
Mesajlar: 227
Kayıt: 14 May 2014 07:36
İletişim:

Re: db gridde hata

Mesaj gönderen gaus »

freeman35 yazdı:db gridlerin huyudur bu, hep böyle yaparlar, ne işe yaradıklarını, ne yaptıklarını bilmezler.
adoquery1.Open;
adoquery1.ExecSQL;
:D
akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Re: db gridde hata

Mesaj gönderen akdatilla »

select soruglarında adoquery1.Open kullan (Bu tip sorgular sonuç döndürür ve dbgridde listelenebilir.) , delete ve update işlemleri için 2. bir adoquery oluştur ve adoquery2.ExecSQL şeklinde sorguyu çalılştır (bu sorgular bir liste döndürmez ve db gridde listelenmez).
Cevapla