Bir memo fieldde örneğin aralarına "+" işareti konmuş birden fazla kelimeyi aramak istiyorum.Googlede olduğu gibi.
Öncelikle verilen cümleyi parse ederek kelimelere ayırmak sonrada
where aciklama like "%kelime1%" AND aciklama like "%kelime2%"...
gibi bir SQl sorgusu oluşturmak gerekiyor.
Mutlaka programlarınızda kullanmışsınızdır, parse kodunu ve sql oluşturma kodunu bildirirseniz aynı zahmete katlanmak zorunda kalmayacağım.Saygılar.
Aynı anda birden fazla kelimeyi sorgulamak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Dikkat
where aciklama like "%kelime1%" AND aciklama like "%kelime2%" şartında dikkatimden kaçmayan bir nokta var. AND şartı değil OR şartı kullanılmalı aksi halde bu şartla hiç kayıt gelmez.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
-
- Üye
- Mesajlar: 508
- Kayıt: 30 Oca 2004 10:49
Ben size yardımcı olacak bir fonksiyon yazayım. Bu fonk. kelime sonlarındaki boşlukları silmek için kullanılıyor. Basit ama kullanışlı bir fonk. Başlanğıçta + ' ya göre kaç kelime olduğunu bulmanız gerekiyor. Ve bu kelime sayısınca [/code]
kelimeleri eklemek gerekiyor.where aciklama like "%kelime1%" AND aciklama like "%kelime2%"...
Kod: Tümünü seç
function StripBlanks(S:string): string;
var
i:integer;
begin
i:=Length(S);
while S[i]=' ' do //Burda sondaki karakter boşluksa.
Delete(S,i,1); //Burda boşluk karakterini siliyor 1 karakter. Ve döngü tekrarlanıyor.
Dec(i);
end;
StripBlank:=S; //Fonk sonucuna S değişkeni değeri atanıyor.
end;
Re: Dikkat
Hayır ben özellikle AND ekledim.Örneğin metin içinde aralarında + olan kelimelerin hepsi varsa sadece o kayıtları döndürsün diye.Tıpkı Googledeki gibi.saygılar.sabanakman yazdı:where aciklama like "%kelime1%" AND aciklama like "%kelime2%" şartında dikkatimden kaçmayan bir nokta var. AND şartı değil OR şartı kullanılmalı aksi halde bu şartla hiç kayıt gelmez.