if key = #8 then s := copy(s,1,length(s)-1)
else
s := s + key;
sql1 := 'select * from URUN';
sql2 := 'where yeni_no like "%' + s + '%"';
dm.ibquery1.Close;
dm.ibquery1.SQL.Clear;
dm.ibquery1.SQL.Add(sql1);
dm.ibquery1.SQL.Add(sql2);
dm.datasource2.DataSet := dm.ibquery1;
dm.ibquery1.Open;
kodlar bu şekilde arama için edit1 e tıklayıp bir harf yazdığım zaman sql error code = -206
column unknown yeni no at line 2 column 17 diyerekten hata veriyor çözemedim....yardımcı olursanız sevinirim benim istediğim harf harf edite girdiğim bir veriyi dbgridde süzmesi....iyi gceler
KeyPress eventinde S değişkenine Edit1.Text'i atamalısın. Ayrıca değişkenlerini Variant olarak tanımlama sebebini anlayamadım. Kullanılacak değer türüne göre tanımlanman daha mantıklı olacaktır. Mesala string se String Tam sayıysa integer gibi.
S.A.
Queryi bir kere yazıp parametre kullansan daha iyi olur gibime geliyor.
tabi aynı query başka yerlerde kullanıyorsan bilemem.
@hüsonet in dediği gibi keypresde s e edit1 in text ini ataman daha kolay olur.
birde keypres yerine editin onchange olayını kullanırsan aynı kodu iki kere yazmaktan kurtulursun. Tabi editin text inin boş olup olmadığını kontrlol etmende gerekiyor.
Kolay gelsin...
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
if edit1.text='' then exit;
s := edit1.Text;
dm.ibquery1.Active := false;
dm.ibquery1.SQL.Clear;
dm.ibquery1.SQL.Add('select * from URUN');
dm.ibquery1.SQL.Add('where "yeni_no" like ''%' + s + '%''');
dm.datasource2.DataSet := dm.ibquery1;
dm.ibquery1.Active := true;
bu şekilde bir dene.
yanlız ibquery ye iki kere tıkladığında açılan fields editöre bi bak bakalım oraya alanları eklemişmisin. Eğer eklenmişse yenino diye bi alan varmı. eğer query nin sql ini sürekli değiştiryorsan alanları eklemeni tavsiye etmem.
Kolay Gelsin.[/code]
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
mrb
harf harf arama ile ilgili sitede ornekler var hatta bende aynı sorunu yasamıstım ve buradan cozdum sql cumlecigindeki bazı karakterler veritabanına gore degisebilir ben ado ile acceste ki bir veritabanından veri aldım
a:=edit1.Text;
dm.Qiplik.Close;
dm.Qiplik.SQL.Clear;
dm.Qiplik.SQL.Text := 'select * from dbo_Iplikler where IplikKodu LIKE ' + #39 +''+'' + a+'%' + #39 ;
dm.Qiplik.Prepared:=true;
dm.Qiplik.Open;
umarım bu kod isine yarar.