ibquery ile harf harf arama problemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
suselinux

ibquery ile harf harf arama problemi

Mesaj gönderen suselinux »

DEĞİŞKENLER sql1,sql2: string s:variant

EDIT ON ENTER

Kod: Tümünü seç

edit1.Clear;
s := 0;
s := edit1.Text;
sql1 := 'select * from URUN';
sql2 := 'where yeni_no like "%' + s + '%"';
dm.ibquery1.Active := false;
dm.ibquery1.SQL.Clear;
dm.ibquery1.SQL.Add(sql1);
dm.ibquery1.SQL.Add(sql2);
dm.datasource2.DataSet := dm.ibquery1;
dm.ibquery1.Active := true;
EDIT KEYPRESS

Kod: Tümünü seç

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
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

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.


Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

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
suselinux

kodlar konusunda yardımcı olursanız sevinirim

Mesaj gönderen suselinux »

mümkünse...vaktiniz varsa...lüften...
suselinux

yapıyorum ama hala -296 unknow column

Mesaj gönderen suselinux »

hatası veriyor hep...Bir örnek yok mu yararlanacağım siteye aradım denedim ama hiç birisi harf harf arama yapmadı...
showtime
Üye
Mesajlar: 29
Kayıt: 28 Şub 2004 04:26
Konum: Konya

Mesaj gönderen showtime »

selam
hata mesajından çıkardığım kadarıyla veritabanında yeni_no diye bir alan yok.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

sql i ib yonetimi icin hangi prgramı kullanıyorsan onda calıstırmayı dene
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

editin onchange olayına

Kod: Tümünü seç

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
Kullanıcı avatarı
dtgb
Üye
Mesajlar: 175
Kayıt: 07 May 2004 10:02

ado access like komutu

Mesaj gönderen dtgb »

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.
Cevapla