Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

ÖNEMLİ AÇIKLAMA: MUTLAKA OKUYUNUZ!

Gönderen Konu: SQL ile Birden Çok Alana Göre Arama Yapmak  (Okunma sayısı 2130 defa)

0 Üye ve 4 Ziyaretçi konuyu incelemekte.

Çevrimdışı maximus51

  • Üye
  • ***
  • İleti: 36
  • Rep: +0/-0
SQL ile Birden Çok Alana Göre Arama Yapmak
« : 23 Eylül 2007 10:55:48 »
merhaba Arkadaşlar Formda arama yaptım ama Bulamadım.
Sorum Şu Şekilde

Kişiler  Adında Bir Tablom var Tablodaki Alanlar (TC,AD,SOYAD,BABAAD,ANNEAD,vs....) Bu şekilde Ben Arama Yaparken Şu Şekilde Arama Yapsın Forma  5 Tane Edit Ekledim.
Edit1.Text:=Tc ' De Arama Yapacak
Edit2.Text:=Ad ' Da Arama Yapacak
Edit3.Text:=Soyad ' Arama Yapacak
Edit4.Text:=BabaAD ' Arama Yapacak
Edit5.Text:=Anne Ad ' Arama Yapacak


Yukarıdaki Kriterlerden herhangi birini girince ona uygun Akyıt gelsin ...
Yani Edit4 ' e Baba Adı  HÜSEYİN   Yazınca Baba Adı Hüseyin Olanlar
Edit1  Tc Numarası yazınca O Kimlik Numarası olan kayıt.

Button tıklayınca   sql İle  yukarıdaki kriterlerden Hangisi Dolu ise onu sorgulayacak 

Çevrimdışı deltas

  • Üye
  • ***
  • İleti: 37
  • Rep: +0/-0
Ynt: SQL ile Birden Çok Alana Göre Arama Yapmak
« Yanıtla #1 : 23 Eylül 2007 14:38:06 »
Kod: [Seç]
procedure TForm1.Button1Click(Sender: TObject);
begin
if edit1.Text <>'' then
begin
kodlar ...... 
select * from kisiler where tc:='edit1.text'
end;

if edit2.Text <>'' then
begin
kodlar ...... 
select * from kisiler where ad:='edit2.text'
end;

if edit3.Text <>'' then
begin
kodlar ...... 
select * from kisiler where tc:='edit3.text'
end;

end;

end.

ancak bunu yatığında diğer edilerin boş olmasına dikkat et. bunun içinde bilgi girişi yaptıktan sonra bilgi girişi yaptığın edit'in onexit olayına diğer editleri boşaltıp değiştirilme özelliklerini enabled=false edecek şekilde kod yaz. Ve sorgu işlemi bittikten sonra tum editlerin enabled=true olsun. bu şekilde bi kontrol mekanızmasıda yaparsa daha sağlam olurç

Çevrimdışı akrep

  • Global Moderatör
  • *****
  • İleti: 1.242
  • Rep: +27/-13
  • Cinsiyet: Bay
Ynt: SQL ile Birden Çok Alana Göre Arama Yapmak
« Yanıtla #2 : 23 Eylül 2007 18:27:35 »
Kod: Delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3. Query1.Close;
  4. Query1.SQL.Clear;
  5. Query1.SQL.Add('select ADI,SOYADI,TARİH from TABLOM');
  6. Query1.SQL.Add('Where ADI like :adi and');
  7. Query1.SQL.Add('SOYADI like :soyadi and');
  8. Query1.SQL.Add('TARİH like :tarih');
  9.  
  10. if edit1.text = '' then query1.ParamByName('adi').AsString:='%' else query1.ParamByName('adi').AsString:=edit1.Text;
  11. if edit2.Text = '' then query1.ParamByName('soyadi').AsString:='%' else query1.ParamByName('soyadi').AsString:=edit2.Text;
  12. if edit3.Text = '' then query1.ParamByName('tarih').AsString:='%' else query1.ParamByName('tarih').AsString:=edit3.Text;
  13.  
  14. query1.Prepare;
  15. query1.open;
  16. end;

Kodları kendine uyarlayabilirsin, hangi edit'e yazarsan ona göre sorgular, yada istersen hepsini doldur farketmez. Ayrıca edit içerisinde "%" işareti kullanırsan bu "herhangi sayıda, herhangi bir karakter", "_" işareti kullanırsan "tek bir tane ve herhangi bir karakter" anlamına gelir. Ben paradoks veritabanında kullanmak üzere yazmıştım.
« Son Düzenleme: 23 Eylül 2007 22:08:06 by Akrep »
Tomurcuk derdinde olmayan ağaç, odundur - Necip Fazıl Kısakürek

Çevrimdışı maximus51

  • Üye
  • ***
  • İleti: 36
  • Rep: +0/-0
Ynt: SQL ile Birden Çok Alana Göre Arama Yapmak
« Yanıtla #3 : 23 Eylül 2007 18:32:52 »
Çok Teşekkür Ederim kardeşim Çok İşime Yaradı  Biraz Değişiklik yaptım Şu Şekilde yaptım
Ama İlgin Alakan ve Kodkarın İçin Çokkkkk Teşekkür ederim.




procedure TForm1.JvXPButton1Click(Sender: TObject);

begin
if edit1.Text <>'' then
begin
SORGU.SQL.Clear;
SORGU.SQL.Add('SELECT * from KISILER where TC=:A');
Sorgu.Parameters[0].Value:=Edit1.Text;
SORGU.Open;

  end;
if edit2.Text <>'' then
begin
Sorgu.SQL.Clear;
SORGU.SQL.Add('SELECT * from KISILER where AD=:B');
Sorgu.Parameters[0].Value:=Edit2.Text;
Sorgu.Open;
end;
if edit3.Text <>'' then
begin
Sorgu.SQL.Clear;
SORGU.SQL.Add('SELECT * from KISILER where SOYAD=:C');
Sorgu.Parameters[0].Value:=Edit3.Text;
 Sorgu.Open;

Çevrimdışı maximus51

  • Üye
  • ***
  • İleti: 36
  • Rep: +0/-0
Ynt: SQL ile Birden Çok Alana Göre Arama Yapmak
« Yanıtla #4 : 23 Eylül 2007 18:34:36 »
Akrep Teşekkürler Ama biraz Geç kaldın Yaşlanıyorsun Sanırım  ::P

Çevrimdışı akrep

  • Global Moderatör
  • *****
  • İleti: 1.242
  • Rep: +27/-13
  • Cinsiyet: Bay
Ynt: SQL ile Birden Çok Alana Göre Arama Yapmak
« Yanıtla #5 : 23 Eylül 2007 19:38:38 »
Akrep Teşekkürler Ama biraz Geç kaldın Yaşlanıyorsun Sanırım  ::P
Doğru söylüyorsun, artık çekilelim de gençlere biraz yol verelim bari :::) Eskiden 10 saniyede 5 mesaj yazarıdım...
Tomurcuk derdinde olmayan ağaç, odundur - Necip Fazıl Kısakürek

Çevrimdışı maximus51

  • Üye
  • ***
  • İleti: 36
  • Rep: +0/-0
Ynt: SQL ile Birden Çok Alana Göre Arama Yapmak
« Yanıtla #6 : 23 Eylül 2007 20:36:12 »
Sen Bize Lazımsın Allah başımızdan eksik etmesin Sizin gibi Değerli Ustaları

Çevrimdışı akrep

  • Global Moderatör
  • *****
  • İleti: 1.242
  • Rep: +27/-13
  • Cinsiyet: Bay
Ynt: SQL ile Birden Çok Alana Göre Arama Yapmak
« Yanıtla #7 : 23 Eylül 2007 22:09:53 »
Sen Bize Lazımsın Allah başımızdan eksik etmesin Sizin gibi Değerli Ustaları
Allah razı olsun kardeş ama gerçek ustalara ayıp oluyor :::) Benden ne köy olur ne kasaba (şimdilik hehehe...)
Tomurcuk derdinde olmayan ağaç, odundur - Necip Fazıl Kısakürek