sql hatası

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
MakPRO
Üye
Mesajlar: 251
Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:

sql hatası

Mesaj gönderen MakPRO »

mrb aşağıdaki gibi yazdığım kod çalışıyor. ama ilave olarak parametre eklediğim zaman hata veriyor .

Kod: Tümünü seç

SQLTEXT:=
'select * from COMPANY where NAME LIKE :NAME';
with d.custemerdata do begin
Active:=false;
DataSet.CommandText:=SQLTEXT;
DataSet.ParamByName('NAME').Text:='%'+FIRM_NAME+'%';
Active:=true;
end;
hata veren kod aşağıdaki gibidir. neden hata veriyor çözemedim . yardımlarınız için şimdiden teşekkür ederim.

Kod: Tümünü seç

SQLTEXT:='select * from COMPANY where NAME LIKE :NAME,ULKE LIKE :ULKE';
with d.custemerdata do begin
Active:=false;
DataSet.CommandText:=SQLTEXT;
DataSet.ParamByName('NAME').Text:='%'+FIRM_NAME+'%';
DataSet.ParamByName('ULKE').Text:='%'+FIRM_ULKE+'%';
end;
onaydin

Mesaj gönderen onaydin »

Veritabanı adı belirtmemişsiniz. Benim bildiklerimin syntaxlarında where içinde birden fazla koşul varsa virgül ile değil "and"ile bağlanıyor.
Kullanıcı avatarı
MakPRO
Üye
Mesajlar: 251
Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:

:)

Mesaj gönderen MakPRO »

tşk ederim . yoğun çalışma ortamında virgülü and gibi görebiliyor insan nescayfe zamanı gelmiş :D . tşk ederim. iyi çalışmalar
Kullanıcı avatarı
MakPRO
Üye
Mesajlar: 251
Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:

and yaparak denedim fakat bu seferde başkabir hata verdi :(

Mesaj gönderen MakPRO »

hata kodu aşağıdaki gibidir

Kod: Tümünü seç

SQLTEXT:=
'select * from COMPANY where (NAME LIKE :NAME) and (CODE LIKE :CODE)';

Kod: Tümünü seç

 arithmetic exception, numeric owerflow, or string truncation
Kullanıcı avatarı
MakPRO
Üye
Mesajlar: 251
Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:

:)

Mesaj gönderen MakPRO »

parametreleri trim ile boşluklarını alarak kullandım. sorun kalktı. sanırım SQL sorgusunu çok fazla şişiriyuordu. iyi çalışmalar.

Kod: Tümünü seç

DataSet.ParamByName('CODE').Text:='%'+trim(FIRM_CODE)+'%';
Cevapla