query1.SQL.Add('select * from musteri where firma like ''' + Edit1.Text + '%'' or tarih like ''' + Edit2.Text + '%''')
4 tane edit nesne si var..kullanıcı hangilerine veri girerse ona göre sorgu yapacak db de..
yukardaki kod ta type mismatch error...hatası veriyor...
birden fazla kritere göre arama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Tarih alanına editteki değeri direkt gönderme. Hangi veritabanını kullanıyorsun bilmiyorum ama mesela SQL Server yyyy-aa-gg şeklinde alır tarihi, eğer farklı formatta bir değer gönderirsen tarih alanına hata verir. Oyüzden şöyle kullan:
Not: ayrıca yazdığın kodda bir tırnak unutmuşsun!
Kod: Tümünü seç
query1.SQL.Add('select * from musteri where firma like ''' + Edit1.Text + '%'' or tarih = :tarih');
ParamByName('tarih').AsDate := StrToDate(edit2.Text);
bir edite bilgi girip digerlerine girmezsen
soyle bir durum olur
mesela edit1'e a girdi
sql cumlen
select * from musteri where firma like a% or tarih like %
olacak burada bir syntax hatası vemeliydi
ama tarih like ile kullanılmıs bunun da bu sekilde olmaması gerekirdi
su sekilde kullanabilirsin:
aradaki ifade or oldugu icin bu mantık calısır diye umuyorum
and olsa idi daha farklı yapmak gerekecek
soyle bir durum olur
mesela edit1'e a girdi
sql cumlen
select * from musteri where firma like a% or tarih like %
olacak burada bir syntax hatası vemeliydi
ama tarih like ile kullanılmıs bunun da bu sekilde olmaması gerekirdi
su sekilde kullanabilirsin:
Kod: Tümünü seç
if edit1.text<>'' then
sqlstr:=sqlstr:='select * from musteri where firma like '+edit1.text+'%';
else if edit2.text<>'' then
sqlstr:='select * from musteri where tarih='+edit2.text;
and olsa idi daha farklı yapmak gerekecek
ÜŞENME,ERTELEME,VAZGEÇME
Naile hocam burada
edit2.text yerine DateTimePicker1.Date kullanılamaz mı?
Kod: Tümünü seç
query1.SQL.Add('select * from musteri where firma like ''' + Edit1.Text + '%'' or tarih = :tarih');
ParamByName('tarih').AsDate := StrToDate(edit2.Text);
"İlmin anası sormaktır"
Kulanılır tabikimpolat yazdı:Naile hocam burada
edit2.text yerine DateTimePicker1.Date kullanılamaz mı?Kod: Tümünü seç
query1.SQL.Add('select * from musteri where firma like ''' + Edit1.Text + '%'' or tarih = :tarih'); ParamByName('tarih').AsDate := StrToDate(edit2.Text);
Kod: Tümünü seç
ParamByName('tarih').AsDate := DateTimePicker1.Date;