selamlar
yukarıdaki kod ile programı kullanırken arama kriterlerini birleştirmiyor ikisini ayrı ayrı arıyor.(yani Ahmet demir ismini ararken hem adı ahmet olanları hemde soyadı demir olanları getiriyor.)
Bu duruma mege'nin verdiği kod çözüm olabilir diye düşündüğümden
with dm.Ibdataset1 do
begin
close;
selectsql.clear;
selectsql.Add('select * from YESILKART where 1=1');
if edit1.text<>'' then
selectsql.Add('and PROTOKOL = "'+edit1.text+'"');
if edit2.text <>'' then
selectsql.Add('and ADI = "'+edit2.text+'"');
if edit3.text<>'' then
selectsql.Add('and SOYADI ="'+edit3.text+'"');
selectsql.Add(' order by ADI');
open;
end
Project evrak.exe raised exception class EIBInterBaseError with message 'Dynamic SQL Error
SQL error code :-206
column unknown
2
At line 3, column2'.Process Stopped.Use step or Run to continue.
hatasını verdi. sizce nerede hata yapıyorum.Ya da örnekteki Ahmet Demir ismini araken sadece "Ahmet Demir"i getirmesini nasıl sağlarım.
S.A.
open;
komutundan önce forma koyduğunuz bir memonun lines ina sql kodlarını atarsanız hatayı daha net görebilirsiniz. Problem sanırım oluşturulan sqlde.
sql kodunu da buraya gönderirseniz. bizlerde yardımcı olabiliriz.
memo1.lines:=selectsql; ile oluşan kodu görelim demiştin.
(oluşan sql i görmek istediğin için) yukarıda yazdığım kod üzerinde değişiklik yapmadım, program debug moda girdi, hata da değişmedi.sadece hatadaki 4.satırdaki 2 yerine neyi aratmışsam o çıkıyor.(Hatayı da yukarda yazdım) Diğerleri değişmiyor.
bu sql i başka programlarda kullanmadım.(daha bu programda bile kullanamadım).İsterseniz sorunumu ,kodları ve hatayı tekrar yazabilirim.
kodlarda bir problem görünüyor mu?
with dm.Ibdataset1 do
begin
close;
selectsql.clear;
selectsql.Add('select * from YESILKART where 1=1');
if edit1.text<>'' then
selectsql.Add('and PROTOKOL = '''+edit1.text+'''');
if edit2.text <>'' then
selectsql.Add('and ADI = '''+edit2.text+'''');
if edit3.text<>'' then
selectsql.Add('and SOYADI ='''+edit3.text+'''');
selectsql.Add(' order by ADI');
open;
end
böyle bir dene çalışması lazım.
anladığım kadarıyla çift tırnak kullandığın zaman ib bunu column adı olarak arıyor bulamayıncada column uncnown
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim