Birden çok textbox alanında arama yaptırmak

rainman4009

Asistan
Katılım
24 Şubat 2010
Mesajlar
250
Reaksiyon puanı
5
Puanları
18
Numarası ...:

Ad Soyad....:

Telefon .....:

İl ................:


------------------------------------------------------------------

mesala arkadaşlar adi ahmet olan istanbul doğumlu ve telefon 0505 ile başlayanlar arama yaptırmak istiyorum .....

bu nu tek tek yapmak yerine daha kısa kodu
veya
sql sorgusu nasıl olmalıdır

bazende textboxlar hepsine giriş yapmayacak istediği text box larda arama yapabilsin istiyorum .......
 

ilica18

Asistan
Katılım
13 Ekim 2009
Mesajlar
153
Reaksiyon puanı
2
Puanları
18
asp.net te mi kullanacaksın bu sorguyu...:confused1:
 

orcnd

Dekan
Katılım
13 Ekim 2008
Mesajlar
6,394
Reaksiyon puanı
255
Puanları
243
Konum
İstanbul
select * from tablo where substr(Telefon,0,4)='0505' and ad='Ahmet' and il='İstanbul'
yada
select * from tablo where telefon like '0505%' and ad='Ahmet' and il='İstanbul'
 

SiberWorm

Doçent
Katılım
3 Aralık 2009
Mesajlar
508
Reaksiyon puanı
5
Puanları
0
Vb.net te yaptığım projenin ara buttonunun click eventi;

Kod:
 Try
            conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\fatura.mdb")


            If conn.State = ConnectionState.Open Then
                conn.Close()
            End If
            If tb_sayin1.Text = "" And tb_verdairesi.Text = "" And tb_vernosu.Text = "" Then
                MsgBox("Lütfen Değer Girdikten Sonra Arama Yapınız.", MsgBoxStyle.Information, "DİKKAT")
                dt = New DataTable
                adp = New OleDbDataAdapter("Select * from FatBaslik", conn)
                adp.Fill(dt)
                dgv_bul.DataSource = dt.DefaultView
            Else
                conn.Open()
                dt = New DataTable
                adp = New OleDbDataAdapter("Select * from FatBaslik where SAYIN1='" & tb_sayin1.Text & "' OR VDAIRESI='" & tb_verdairesi.Text & "' OR VNO='" & tb_vernosu.Text & "'", conn)
                adp.Fill(dt)
                dgv_bul.DataSource = dt.DefaultView
            End If
            If dt.Rows.Count = 0 Then
                MsgBox("Hiç Kayıt Bulunamadı.Tekrar Deneyiniz.", MsgBoxStyle.Information, "DİKKAT")
                dt = New DataTable
                adp = New OleDbDataAdapter("Select * from FatBaslik", conn)
                adp.Fill(dt)
                dgv_bul.DataSource = dt.DefaultView
            End If
        Catch ex As Exception
            MsgBox("Hata Oluştu. Lütfen Tekrar Deneyiniz.", MsgBoxStyle.Information, "Hata")
        Finally
            conn.Close()
        End Try
 

rainman4009

Asistan
Katılım
24 Şubat 2010
Mesajlar
250
Reaksiyon puanı
5
Puanları
18
Kod:
If tb_sayin1.Text = "" And tb_verdairesi.Text = "" And tb_vernosu.Text = "" Then
                MsgBox("Lütfen Değer Girdikten Sonra Arama Yapınız.", MsgBoxStyle.Information, "DİKKAT")

kullanıcı boş girse arama yapamayacak bu mantıkla .....

farklı çözümü olan varmı
 

Junas

Doçent
Katılım
20 Haziran 2008
Mesajlar
836
Reaksiyon puanı
7
Puanları
18
Bu tür arama işlemleri biraz komplextir.Bunun nedeni "kullanıcı boş girse arama yapamayacak bu mantıkla" gibi düşündüğümüz içindir ve doğrudurda.Senin yapman gereken şey,arama arayüzünde ne kullanıcaksan,içinin boş olup olmaması v.s gibi olasılıkları düşünüp sorgulama query'sini ona göre hazırlamaktır.
Örn:Eğer adam soyadını girmezse query'nin içinden soyadını sorgulayacak kolonu çıkartmalısın.
 

yuci308

Asistan
Katılım
7 Haziran 2008
Mesajlar
107
Reaksiyon puanı
2
Puanları
18
PHP:
if (isset($_GET['telefon']))										$telefon=$_GET['telefon'];
else
$telefon='';

if (isset($_GET['ad']))										$ad=$_GET['ad'];
else
$ad='';

if (isset($_GET['il']))										$il=$_GET['il'];
else
$il='';

$sql="select * from tablo where telefon like '0505%' and ad='Ahmet' and il='İstanbul'";
										
if ($telefon<>'')
$sql.=" telefon like '".$telefon."'";

if ($telefon<>'' AND $ad<>'')
$sql.="AND ad= '".$ad."'";
else if ($telefon='' AND $ad<>'')
$sql.=" ad= '".$ad."'";

if ($il<>'' AND ($telefon<>'' OR $ad<>''))
$sql.="AND il= '".$il."'";
elseif ($il<>'' AND ($telefon='' AND $ad=''))
$sql.=" il= '".$il."'";

hızlıca yazdım kontrol etmedim.

hangi dil olduğunu yazmamışsın php ye göre yazdım mantık aynı.
 

SiberWorm

Doçent
Katılım
3 Aralık 2009
Mesajlar
508
Reaksiyon puanı
5
Puanları
0
Kod:
If tb_sayin1.Text = "" And tb_verdairesi.Text = "" And tb_vernosu.Text = "" Then
                MsgBox("Lütfen Değer Girdikten Sonra Arama Yapınız.", MsgBoxStyle.Information, "DİKKAT")

kullanıcı boş girse arama yapamayacak bu mantıkla .....

farklı çözümü olan varmı

Kullanıcı hiç bir şey girmedikten sonra nasıl arama yapıcak :)
 

Junas

Doçent
Katılım
20 Haziran 2008
Mesajlar
836
Reaksiyon puanı
7
Puanları
18
Kullanıcı hiç bir şey girmedikten sonra nasıl arama yapıcak :)

Kullanıcı hiçbirşey girmiyorsa,uyarı mesajı verdirebilirsin.Lütfen arama kriterlerini doldurun diye,veya select *from tablon diyip aynı veriyi tekrar gösterirsin.
 

SiberWorm

Doçent
Katılım
3 Aralık 2009
Mesajlar
508
Reaksiyon puanı
5
Puanları
0
Kullanıcı hiçbirşey girmiyorsa,uyarı mesajı verdirebilirsin.Lütfen arama kriterlerini doldurun diye,veya select *from tablon diyip aynı veriyi tekrar gösterirsin.

tamam hocam oradada "Lütfen Değer Girdikten Sonra Arama Yapınız." mesajı veriyor zaten :)
 

MertkanElpeze

Asistan
Katılım
6 Ekim 2010
Mesajlar
151
Reaksiyon puanı
4
Puanları
18
Dinamik sorgu yazacaksınız..

yani şöyle. değişkenler içerisinde sql komut parcacıkları olacak. yani girilen değere göre arama yapacak. bu tarz birşey yapmıştım. şuan elimin altında yok. biraz ugrasın yapamazsanız yardımcı olurum

iyi çalışmalar.
 
Üst