Kullanıcı

Hoşgeldiniz Ziyaretçi. Lütfen giriş yapın veya kayıt olun.
E-posta adresinize aktivasyon iletisi gelmediyse lütfen buraya tıklayın.
03 Eylül 2010 13:52:28

Kullanıcı adınızı, şifrenizi ve aktif kalma süresini giriniz

Sohbet Penceresi

Son 5 Notlar:

25 AÄŸustos 2010 16:11:57
slm beyler
27 AÄŸustos 2010 10:00:56
arkadaşlar delphi ile fax nasıl gönderilir şeklinde konuya cevaplarınızı bekliyorum...
  XLG
01 Eylül 2010 17:00:37
arkdaÅŸlar admin kim ya
  XLG
01 Eylül 2010 17:00:55
bi maruzatım olacak ta
Bugün, 11:14:44
Arkadaşlar SUBHAN adlı arkadaşımızdan haberi olan var mı? Bir yıldır hiç siteye girmemiş? Sitesi de borçtan kapanmış. Başına bir şey mi geldi?

Show 50 latest

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

0 Üye ve 1 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 »
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.241
  • 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) [Seç]
procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select ADI,SOYADI,TARİH from TABLOM');
Query1.SQL.Add('Where ADI like :adi and');
Query1.SQL.Add('SOYADI like :soyadi and');
Query1.SQL.Add('TARİH like :tarih');

if edit1.text = '' then query1.ParamByName('adi').AsString:='%' else query1.ParamByName('adi').AsString:=edit1.Text;
if edit2.Text = '' then query1.ParamByName('soyadi').AsString:='%' else query1.ParamByName('soyadi').AsString:=edit2.Text;
if edit3.Text = '' then query1.ParamByName('tarih').AsString:='%' else query1.ParamByName('tarih').AsString:=edit3.Text;

query1.Prepare;
query1.open;
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.241
  • 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.241
  • 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