firebird veritabanı ve IBdatabase,IBdataset nesnelerini kullanuyorum.
Parametreye göre arama yaptırıyorum.
Kod: Tümünü seç
SELECT * FROM EVRAK
where PROTOKOL=:PROTOKOL or ADI=:ADI or SOYADI=:SOYADI
order by ADI
Kod: Tümünü seç
begin
dm.IBDataSet1.Close;
dm.IBDataSet1.UnPrepare;
begin
case RadioGroup1.ItemIndex of
0 : dm.IBDataSet1.ParamByName('PROTOKOL').AsString:= Edit1.Text;
1 : dm.IBDataSet1.ParamByName('ADI').AsString := Edit1.Text;
2 : dm.IBDataSet1.ParamByName('SOYADI').AsString := Edit1.Text;
end;
dm.IBDataSet1.Prepare;
dm.IBDataSet1.Open;
frmsonuc.Show;
end;
end;
Sorunum ise mesela soyadına bakarak arama yaptırdıktan sonra protokol veya adı alanlarında arama yaparsam soyadına baktığım sorgulamanın sonuçlarını da gösteriyor.
şu şekilde de denedim sonuç değişmedi.
Kod: Tümünü seç
begin
case RadioGroup1.ItemIndex of
0 :
begin
dm.IBDataSet1.Close;
dm.IBDataSet1.UnPrepare;
dm.IBDataSet1.ParamByName('PROTOKOL').AsString:= Edit1.Text;
dm.IBDataSet1.Prepare;
dm.IBDataSet1.Open;
frmsonuc.Show;
end;
1 :
begin
dm.IBDataSet1.Close;
dm.IBDataSet1.UnPrepare;
dm.IBDataSet1.ParamByName('ADI').AsString := Edit1.Text;
dm.IBDataSet1.Prepare;
dm.IBDataSet1.Open;
frmsonuc.Show;
end;
2 :
begin
dm.IBDataSet1.Close;
dm.IBDataSet1.UnPrepare;
dm.IBDataSet1.ParamByName('SOYADI').AsString := Edit1.Text;
dm.IBDataSet1.Prepare;
dm.IBDataSet1.Open;
frmsonuc.Show;
end;
end;
Çözüm olarak acaba bu hatırlamayı nasıl önlerim.