Herkese Merhabalar...
Arkadaşlar benim problemim şu şekilde..
mesala sorgular adlı bir menumüz var.Bu menünün Aranana git,Benzerlerini Ara,Benzerlerini Ara (gelişmiş) gibi 3 tane alt menu koydum.
Bu menülerin Radio itemleri True.Ve onclik olaylarına
arananagit1.checked:=not arananagit1.checked;
diyerek Basılı veya basılı olmadığını kontrol ediyorum
Artı bir tablo ve bu tablonun filtered özelliği true ve büyük küçük ayırımı yapma true;
Edit in change olayına şöyle bir komut yazdım
if arananagit1.checked=true then
table1.filter:='[kelime]='+edit1.text;(sadece edite yazılanı sorgula);
if benzerleriniara1.checked=true then
table1.filter:='[kelime]='+#39+edit1.text+#39;
if benzerinigelismisbul1.checked=true then
table1.filter:='[kelime]='+#39+edit1.text+'*'+#39;
end;
diyorum hata veriyor.
yanibenim yapmak istediğim benzerlerini ara dediğim zaman editeyazılan ilkharften başlayarak sorgu yapsın(yani A dediğim zaman Sadece Aile başlayanları Al dediğim zaman A ların içinden Al İle başlayanları ).
Bunu query le yapamadım daha doğrusu edite yazılan ifadeyi query nin şartlı sql sorgusuna yyaptıramadım hep hata verdi.
Bunun başka yolu varmı Özellikle sql le bir metodu var-mı.Öyle Birşeyki query de ubdatesql ide kullanıyorum ama ekleme sorgusunda vb. hep hata veriyor .Biraz uzun oldu ama kusura bakmayın.Hepinize başarılar.Dilerim..
------------------------------------
AKIL SONRADAN AH ÇEKMEK İÇİN DEĞİL, ÖNCEDEN DÜŞÜNÜP TEDBİR ALMAK İÇİNDİR.(MEVLANA)
table filter ve sql
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Bunu sql kullanarak query ile yapmanı tavsiye ederim. Table filter özelliği ileride ummadığınız şekilde yavaş cevap vermeye başlayacaktır.
Kod: Tümünü seç
//eşit olanları bulmak için
Query1.Sql.Add('Select * From Tablo Where Kelime='+''''+Edit1.Text+''');
// A ile başlayanları bulmak için
Query1.Sql.Add('Select * From Tablo LIKE Kelime='+''''+Edit1.Text+''''+'%'+'''');
veya Like incelerseniz daha değişik sorgular yapabilirsiniz..
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
- Yusuf AYDIN
- Üye
- Mesajlar: 69
- Kayıt: 02 Oca 2004 05:45
- Konum: Antalya
TRsoft arkadaşımızın yazdığı gibi Query ile çözüm en güzeli;
ama sorunda bunu yaparken hatalara rastladığını anlatmışın.
Query ile çalışırken. Öncelikle
Query1.close
Query1.SQl.Clear
işlemlerini unutma yoksa aynı querye birden fazla SQL cümleciği yazdırırsın. Bu işini epeyce zorlaştırır.
Yani yapın söyle olmalı ..
Bu Secim procedurerununda iligli seçim alanlarının kliklenmesinde kullanılmasını sağlamalısınız. (Secim; ile)
Kelimeyi String olarak olarak aktarmaka için '''' veya #39 yerine QuotedStr() komutunu kullan. Bu bana daha kullanışlı anlaşılır gelmektedir.
ama sorunda bunu yaparken hatalara rastladığını anlatmışın.
Query ile çalışırken. Öncelikle
Query1.close
Query1.SQl.Clear
işlemlerini unutma yoksa aynı querye birden fazla SQL cümleciği yazdırırsın. Bu işini epeyce zorlaştırır.
Yani yapın söyle olmalı ..
Kod: Tümünü seç
Procedure Form1.Secim;
Begin
Query1.close
Query1.SQl.Clear
if arananagit1.checked=true then
Query1.SQl.Add('Select * From Tablo Where Kelime='+QuotedStr(Edit1.Text))
Else
if benzerleriniara1.checked=true then
Query1.SQl.Add('Select * From Tablo Where Kelime Startingwith '+QuotedStr(Edit1.Text))
Else
if benzerinigelismisbul1.checked=true then
Query1.SQl.Add('Select * From Tablo Where Kelime Like '+QuotedStr(Edit1.Text+'%'));
Query1.Open;
End;
Kelimeyi String olarak olarak aktarmaka için '''' veya #39 yerine QuotedStr() komutunu kullan. Bu bana daha kullanışlı anlaşılır gelmektedir.
Tamam da editin change olayına sorduğum gibi yazdığımda hata veriyor. ve query e sorgu yaptırırken hep problem yaşıyorum her komutta try except bloğu kullanmak zorunda kalıyorum.bu işin başka bir yolu yokmu yoksa benim delphide sorunmu var diyecem hatasız bir kurulum yaptığımda eminim ve enterpires kullanıyorum
Öncelikle Editın boş olup olmadığını kontrol ettir.bir ihtimal edit boş ise hata verebilir. ve Yusuf AYDIN'ın verdiği kodları kullanırsan problem olmaması lazım..
Zaten siz filter özelliği ile editın her değiştiğinde bu işlemi yaptırısanız çokda doğru olmaz.
Zaten siz filter özelliği ile editın her değiştiğinde bu işlemi yaptırısanız çokda doğru olmaz.
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
- Yusuf AYDIN
- Üye
- Mesajlar: 69
- Kayıt: 02 Oca 2004 05:45
- Konum: Antalya