Query için birden fazla kelime sorgulamak

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
hbilal
Üye
Mesajlar: 18
Kayıt: 04 Ara 2010 12:13

Query için birden fazla kelime sorgulamak

Mesaj gönderen hbilal »

Selamun Aleyküm arkadaşlar.
Delphi7 ile veritabanında birden fazla kelimeleri Edit içerisine yazarak nasıl bulabilirim?
Örn:
edit1.text:="Calif Mor" yazıp, DBGrid'de "Common_Name" sütunu içerisindeki "California Moray" bilgilerini getirmesini istiyorum.
Sadece baş harfler değil, kelime içerisinde "ornia ray" yazdığımda bile bana "California Moray" bilgilerini getirmesi gekekir.
Aşağıdaki resimde anlatmaya çalıştım.
Bu konu ile alakalı SQL çalışmanız var ise veya bilen arkadaşlar,
Yardımcı olursanız çok sevinirim.
İyi çalışmalar.
Resim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Query için birden fazla kelime sorgulamak

Mesaj gönderen aslangeri »

s.a.
edti1 in textini boşluklara göre ayrın. her kelime yi ayrı ayrı sorgu cümlesine ekleyin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
hbilal
Üye
Mesajlar: 18
Kayıt: 04 Ara 2010 12:13

Re: Query için birden fazla kelime sorgulamak

Mesaj gönderen hbilal »

Alakanıza teşekkür ederim.
Mantık olarak onu düşünmüştüm, ama kod olarak yardıma ihtiyacım var.
hbilal
Üye
Mesajlar: 18
Kayıt: 04 Ara 2010 12:13

Re: Query için birden fazla kelime sorgulamak

Mesaj gönderen hbilal »

İlgilenen arkadaş yokmu?
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Query için birden fazla kelime sorgulamak

Mesaj gönderen sabanakman »

Aranacak kelimede başa ve sona % karakteri ekleyin. Ayrıca boşlukları % karakterine çevirip like ile sorgulayın. Örnek olarak Calif Mor girdiğiniz değeri %Calif%Mo% şekline çevirip "where Common_Name like '%Calif%Mo%'" gibi bir sorguyla istediğinizi elde edebilirsiniz.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Query için birden fazla kelime sorgulamak

Mesaj gönderen conari »

a.s.

Kod: Tümünü seç

'WHERE Common_Name like ''+replace(edit1.text,'','%')+'';
işinizi görür..
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
hbilal
Üye
Mesajlar: 18
Kayıt: 04 Ara 2010 12:13

Re: Query için birden fazla kelime sorgulamak

Mesaj gönderen hbilal »

conari kardeş,
Verdiğin kodu çalıştıramadım.
İnternette benzer kodlara baktım yine çalışmadı.
Bendemi problem var, yoksa kodmu hatalı anlamış değilim.
Yada bununla ilgili bir çalışman var ise, mail adresime gönderirsen beni çok memnun edersin.
towersbody@hotmail.com

İyi çalışmalar.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Query için birden fazla kelime sorgulamak

Mesaj gönderen conari »

Direk yazmıştım.

Kod: Tümünü seç

var mask :string;
begin
ADOQuery1.SQL.CLEAR;
ADOQuery1.SQL.ADD('SELECT * FROM BIOLIFE');
MASK := '''%'+ StringReplace(Edit3.text,' ','%',[rfReplaceAll, rfIgnoreCase])+'%''';
ADOQuery1.SQL.ADD(' WHERE Common_Name LIKE' +mask +'');
ADOQuery1.OPEN;
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
hbilal
Üye
Mesajlar: 18
Kayıt: 04 Ara 2010 12:13

Re: Query için birden fazla kelime sorgulamak

Mesaj gönderen hbilal »

conari Kardeş,
İlgi ve alakandan ötürü çok teşekkür ederim.
Bilgi paylaştıkça değer kazanıyor, Rabbim emeklerini boşa çıkarmasın.
Saygılar, Selamlar.
Cevapla