Command text yazım hatasında mutlu son:)

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
eyalin
Üye
Mesajlar: 126
Kayıt: 09 May 2005 08:08

Command text yazım hatasında mutlu son:)

Mesaj gönderen eyalin »

Arkadaşlar s.a. herkese kolay gelsin
dataset command text yazmaya çalışıyorum fakat incorrect syntax near hatası alıyorum.

Kod: Tümünü seç

DM1.gorevdataset.CommandText:= 'Select tbl_GOREV.*,tbl_cari.car_unvan,tbl_sikayet.sno from tbl_gorev,tbl_cari,tbl_sikayet where tbl_gorev.gsno=tbl_sikayet.sno and tbl_sikayet.car_ref=tbl_cari.CAR_ID and tbl_gorev.GATOLYE IN (SELECT GATOLYE FROM TBL_USER WHERE USER_NAME='+QuotedStr(frmana.sb1.Panels.Items[1].text)+'';
Birçok varyasyonunu denedim tırnaklar için ama nafile.Yardımcı olacak arkadaşlar teşekkürler.Şu aşağıdaki kod sql query analyzer da hatasız çalışıyor.Ama nasıl delphiye uyarlıcam Allah bilir...

Kod: Tümünü seç

Select tbl_GOREV.*,tbl_cari.car_unvan,tbl_cari.CAR_ID,tbl_sikayet.sno,tbl_sikayet.car_ref 
from tbl_gorev ,tbl_cari,tbl_sikayet 
where tbl_gorev.gsno=tbl_sikayet.sno and tbl_sikayet.car_ref=tbl_cari.CAR_ID and tbl_gorev.GATOLYE IN (SELECT GATOLYE FROM TBL_USER WHERE USER_NAME='ahmet')
:x :x
En son eyalin tarafından 11 Nis 2007 09:21 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
dynamo
Üye
Mesajlar: 96
Kayıt: 21 Haz 2005 02:05
Konum: istanbul

Mesaj gönderen dynamo »

kodun sonuna parantezi ")" bırakmayı unutmuşsun.kodta bir sorun yok,çalışıyor:

Kod: Tümünü seç

...... WHERE USER_NAME='+QuotedStr(Edit1.text)+')';

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
   ADODataSet1.Cancel;
   ADODataSet1.CommandText:='Select tbl_GOREV.*,tbl_cari.car_unvan,tbl_sikayet.sno from tbl_gorev,tbl_cari,tbl_sikayet where tbl_gorev.gsno=tbl_sikayet.sno and tbl_sikayet.car_ref=tbl_cari.CAR_ID and tbl_gorev.GATOLYE IN (SELECT GATOLYE FROM TBL_USER WHERE USER_NAME='+QuotedStr(Edit1.text)+')';
   ADODataSet1.Open;
   //showmessage(ADODataSet1.CommandText);
end;
bu tarz durumlarda showmessage ile yazdığın sorguyu kontrol edip hatayı bulabilirsin. showmessage(ADODataSet1.CommandText);
eyalin
Üye
Mesajlar: 126
Kayıt: 09 May 2005 08:08

Mesaj gönderen eyalin »

Öncelikle cvp için teşekkürler.Dün gece 11 civarı kafayı yemek üzere idim ki olayı çözdüm.Şöyleki;

Kod: Tümünü seç

bir:='Select tbl_GOREV.*,tbl_cari.car_unvan,tbl_cari.CAR_ID,';
 iki:='tbl_sikayet.sno,TBL_sikayet.car_ref from tbl_gorev,tbl_cari,tbl_sikayet ';
        uc:='where tbl_gorev.gsno=tbl_sikayet.sno and tbl_sikayet.car_ref=tbl_cari.CAR_ID and tbl_gorev.GATOLYE IN';
        dort:='(SELECT USER_DEP FROM TBL_USER WHERE USER_NAME=''';
        bes:=frmana.sb1.Panels.Items[1].Text+''')';
        dm1.gorevdataset.CommandText:= bir+iki+uc+dort+bes;
Herkese kolay gelsin.
Kullanıcı avatarı
MakPRO
Üye
Mesajlar: 251
Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:

Mesaj gönderen MakPRO »

Syntex hatasına nokta eksikliği sebep oluyor gibi geldi.
DM1.gorevdataset.CommandText:=
yerine
böyle olması lazım
DM1.gorev.dataset.CommandText:=
Cevapla