Sql içerisine formdaki bir dbedit değerini dahil etme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
CinAnka
Üye
Mesajlar: 84
Kayıt: 03 Nis 2006 11:27
Konum: İstanbul

Sql içerisine formdaki bir dbedit değerini dahil etme

Mesaj gönderen CinAnka »

Herkese merhabalar;
Çiçeği burnunda bir delphitürkiye üyesiyim ve imdaaat diye bağırmak üzereyim;

Arkadaşlar, benim 3 tane tabloyu birbirine bağlamam gerekiyor. Bunu yaparken de formumda bulunan bir dbedit.edittext kontrolü içerisindeki değeri sql ifadesi içerisine dahil etmeye çalışıyorum:

a:=dbedit3.edittext
a:=strtoint(b);

adoquery3.Open;
adoquery3.SQL.text:= 'SELECT C.ADI, C.SOYADI, C.GSM_NO FROM GRUPLAR A, KISIGRUP B, KISILER C WHERE A.ID=a and B.GRUPLAR_ID=A.ID AND C.ID =B.KISILER_ID';
adoquery3.Active:=true;
adoquery3.ExecSQL;

dediğimde daima aynı hata mesajı ile karşılaşıyorum: a parametresinin varsayılan değeri yok!!

Sql string içerisine formda bulunan bir değişken değeri nasıl dahil edebilirim???

Bana acilen yardım edebilecek arkadaşlara şimdiden teşekkür ediyorum...
Güçlü olan haklı değil, haklı olan güçlüdür!
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
İstediğinizi

Kod: Tümünü seç

a:=dbedit3.edittext
a:=strtoint(b);

adoquery3.CLOSE;
adoquery3.SQL.Clear;
adoquery3.SQL.text:= 'SELECT C.ADI, C.SOYADI, C.GSM_NO FROM GRUPLAR A, KISIGRUP B, KISILER C WHERE A.ID='+DBEDIT3.EDITTEXT+' and B.GRUPLAR_ID=A.ID AND C.ID =B.KISILER_ID';
adoquery3.OPEN;

veya

Kod: Tümünü seç

a:=dbedit3.edittext
a:=strtoint(b);

adoquery3.CLOSE;
adoquery3.SQL.Clear;
adoquery3.SQL.text:= 'SELECT C.ADI, C.SOYADI, C.GSM_NO FROM GRUPLAR A, KISIGRUP B, KISILER C WHERE A.ID=:PARAMETRE_DEGERI and B.GRUPLAR_ID=A.ID AND C.ID =B.KISILER_ID';
adoquery3.Parameters.ParamByName('PARAMETRE_DEGERI').VALUE:=A;

adoquery3.OPEN;

şeklinde alabilirsiniz. Yalnız 2.şekle kendinizi alıştırsanız daha iyi olur.
Birinci şekilde bazen kaç tane tırnak atacağınızı karıştırabilirsiniz. O yüzden kendinizi 2. şekle yani parametre göndermeye alıştırın.

Ha unutmadan execsql i bir sonuç döndürmeyen(insert,delete ) sql deyimlerinde kullanın. sonuç döndürenler(select ) için open kullanın.

Kolay gelsin.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Kullanıcı avatarı
CinAnka
Üye
Mesajlar: 84
Kayıt: 03 Nis 2006 11:27
Konum: İstanbul

Mesaj gönderen CinAnka »

:lol:
Çok teşekkürler, oldu :o
Güçlü olan haklı değil, haklı olan güçlüdür!
Cevapla