merhaba arkadaşlar
like '%asd%' şeklinde taratıyorum. Bulmuyor ama tek hane yazarsam
'%a%' buluyor. Şaşırdım yahu. Nerde problem var
SQL like komutu doğru düzgün çalışmıyor
Çözüm
Merhaba arkadaşlar,
bir çok kişi gibi kendi soruma kendim cevap vereyim.
Kanımca delphinin bu konuda bir bugu var. Düşündüğünüz yöntemle değil kendi düşündüğü ile amel etmenizi istiyor.
Şöyleki
Parametre kullanmak zorundasınız.
Örneğin
IBquery.sql.add('select * from filantablo where filancaalan like :benimparametre) yani buna benzer birşey yazıyorsunuz. bir kelimenin başına boşluk bırakmadan iki nokta üst üste işareti yazmanız onun değişken bir parametre olduğunu gösteriyor.
daha sonra bu değişkene dışarıdan ulaşıp istediğiniz gibi yönetiyorsunuz. aşağıdaki kodla
IBquerry.parambyname('benimparametre').asstring veya as herneyse :='filan falan' şeklinde...
bir çok kişi gibi kendi soruma kendim cevap vereyim.
Kanımca delphinin bu konuda bir bugu var. Düşündüğünüz yöntemle değil kendi düşündüğü ile amel etmenizi istiyor.
Şöyleki
Parametre kullanmak zorundasınız.
Örneğin
IBquery.sql.add('select * from filantablo where filancaalan like :benimparametre) yani buna benzer birşey yazıyorsunuz. bir kelimenin başına boşluk bırakmadan iki nokta üst üste işareti yazmanız onun değişken bir parametre olduğunu gösteriyor.
daha sonra bu değişkene dışarıdan ulaşıp istediğiniz gibi yönetiyorsunuz. aşağıdaki kodla
IBquerry.parambyname('benimparametre').asstring veya as herneyse :='filan falan' şeklinde...
Olayın delphi ile alakası olmamalı. Sorguyu nasıl hazırladığınız açık olmadığından kesin bir şey söylemek zor.
Bu, trafik kazalarında hataların %85 sürücülerden kaynaklandığı tespiti olayını hatırlatıyor
Burada yağ ile bitenler gelirken, burada içinde yağ olan kayıtlar gelecektir. Dikkat edilecek konu LIKE ile büyük/küçük harf duyarlı arama yapılır
Harfe duyarlı olsun istenmiyorsa aşağıdaki gibi CONTAINING kullanılabilir; Dikkat edilirse burada % (yüzde) işaret(ler)i yoktur 
Bu, trafik kazalarında hataların %85 sürücülerden kaynaklandığı tespiti olayını hatırlatıyor

Kod: Tümünü seç
select adi from stok_kart
where adi like '%yağ'
Kod: Tümünü seç
select adi from stok_kart
where adi like '%yağ%'

Kod: Tümünü seç
select adi from stok_kart
where adi containing 'yağ'

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
teşekkürler ve hatırlatmalar
Öncelikle teşekkürler.
Containing ifadesini biliyordum. Fakat uzun süredir kullanmadığım için hatırlattığınız iyi oldu.
İkinci olarak Fikrinizde haklısınız hataların çoğu kullanıcı tarafından yapılır delphiye mal edilir.
Fakat ben yeterince deneyde bulunmadan konuşmam... like konusu benim denediğim bir konu, açıkça kabul etmiyor cihaz....
burada eklemem gereken önemli bir şey var. benim tarattığım alan richedit ile edit edilen bir blob fielddı...
Containing ifadesini biliyordum. Fakat uzun süredir kullanmadığım için hatırlattığınız iyi oldu.
İkinci olarak Fikrinizde haklısınız hataların çoğu kullanıcı tarafından yapılır delphiye mal edilir.
Fakat ben yeterince deneyde bulunmadan konuşmam... like konusu benim denediğim bir konu, açıkça kabul etmiyor cihaz....
burada eklemem gereken önemli bir şey var. benim tarattığım alan richedit ile edit edilen bir blob fielddı...
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Vay be ne teşhis. 40 yıl düşünsem aklıma gelmez. Eğer beyin yerine saman kullanıyorsam.. Neyse sorunun çözümünü zaten yukarıda yazdım.sabanakman yazdı:RichText Format'ı metin gibi olmadığından sorgun çalışmıyor. Bunu en iyi bir .rtf dosyasını Notepad programında açarak görebilirsin.
Bu arada blob fieldlar için blob subtype1'in özellikle richedit gibi rtf formatı kullanan alanlar için tasarlandığını sanıyorum. Çünkü diğerlerinden farklı olarak font karakterinizi seçebiliyorsunuz... Normal blob ile bunun arasında performans farkı var mı bilmiyorum ancak deneyen arkadaşlar diğer arkadaşlara tecrübe olması açısından yazmak isterse sanırım iyi olur.
Re: teşekkürler ve hatırlatmalar
Sorunun çözümü ve tespit için geçte olsa faydalı bir ipucufatihbarut yazdı:....
burada eklemem gereken önemli bir şey var. benim tarattığım alan richedit ile edit edilen bir blob fielddı...

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!