Daha önceki yazılarımda,c# ile sqlserver’a bağlanmayı ve temel veritabanı işlemleri olan insert,update ve delete işlemlerini anlatmıştım,şimdi ise veritabanından aldığımız bilgileri bir datagrid de göstermeyi ve bu bilgiler üzerinde arama yapmayı anlatacağım..
Öncelikle toolboxtan form ekranımız üzerine bir tane dataGridView koyalım..Formumuz ilk olarak yüklendiğinde veritabanında ki ilgili tablo bilgileri bu grid de görünsün,daha sonra formumuza bir tane textbox ile bir buton koyuyoruz,amacımız bu textbox’a girilen bilgiye göre arama yaparak ilgili kaydı grid de göstermek.Bu arama işleminide LIKE operatörü ile gerçekleştireceğiz.. Öncelikle kodumuzu yazalım açıklamalara kod üzerinden devam edelim..
private void Form1_Load(object sender, EventArgs e)
{
SqlConnection baglanti=new SqlConnection(@"Data Source=SENOL;Initial Catalog=medikal_takip;Integrated Security=True");
baglanti.Open();
SqlCommand sorgu = new SqlCommand("select * from TBLHASTA", baglanti);
SqlDataAdapter da = new SqlDataAdapter(sorgu);
DataTable tbl = new DataTable();
da.Fill(tbl);
dataGridView1.DataSource = tbl;
baglanti.Close();
}private void BtnAra_Click(object sender, EventArgs e)
{
SqlConnection baglanti = new SqlConnection(@"Data Source=SENOL;Initial Catalog=medikal_takip;Integrated Security=True");
baglanti.Open();
SqlCommand sorgu = new SqlCommand("select * from TBLHASTA where isim LIKE ‘%"+TxtAra.Text+"%’", baglanti);
SqlDataAdapter da = new SqlDataAdapter(sorgu);
DataTable tbl = new DataTable();
da.Fill(tbl);
dataGridView1.DataSource = tbl;
baglanti.Close();
}
Gördüğünüz gibi formumuzun load olayında sql sorgumuzdan dönen bilgileri dataadapter sayesinde datatable’mize koyduk ve datagrid’imizin kaynağı olarakda bu datatable’i gösterdik,böylece formumuz load edilince TBLHASTA adlı tablomuza ait bütün veriler datagrid de görünecek..
Daha sonra buton click olayında ise,textboxa girilen ifadeyi, TBLHASTA adlı tablomuzun "isim" adlı sütununda arayarak ve sonucu yine datagrid de gösterecek.Arama işlemini ise LIKE operatörü ile gerçekleştirdik,dikkat ederseniz LIKE % "+TxtAra.Text+" % şeklinde kullandık yani textboxa girilen ifadenin başına ve sonuna % koyarak,aradığımız ifadenin kelime içinde herhangi bir yerde geçmesi yeterli demiş olduk..
Bu noktada LIKE operatörünün kullanımına biraz değinelim..
Değişken kullanarak yapılacak olan aramalarda LIKE operatörü kullanılır..Birkaç örnek vererek kullanımı pekiştirelim..
LIKE ‘S%’ –> S İLE BAŞLAYANLAR
LIKE ‘S%S’ –> S İLE BAŞLAYIP,S İLE BİTENLER
LIKE ‘_S%’ –> İKİNCİ HARFİ S OLANLAR ( _ ifadesi tek bir harfi temsil etmektedir)
LIKE ‘%S’ –> S İLE BİTENLER
LIKE ‘%S%’ –> İÇİNDE S GECENLER
LIKE ‘_S%S_’ –> BAŞTAN VE SONDAN 2. HARFİ S OLANLAR
LIKE ‘%SEN%’ –> İÇİNDE SEN KELİMESİ GEÇENLER
gibi.. Kolay Gelsin.
Yazan: Şenol TÜRK
ii aksamalar c# tan proje aldım ve daragridview den arama yapacam aramayı textboxtan girilen biligiyi butona tıkladıgımızda sadece ne yazdıysak onu arıyacak
Sorguyu …..SqlCommand sorgu = new SqlCommand(“select * from TBLHASTA where isim = ‘”+TxtAra.Text+”’”, baglanti); şeklinde yaparsanız istediğiniz gibi sadece girilen değere göre arama yaptırabilirsiniz.
Emeğinize sağlık öncelikle. Benim sormak istediğim şu,
tüm aramalarıma rağmen tek textboxta yapılan armalardan başka bir şey bulamadım. Ben 4-5 textbox barındıran bir form tasarladım ve bu textboxlara girilenlere göre listbox a dökmesini nasıl sağlayabilirim? Yani tek arama butonu ile 4 farklı bigiye göre arama yapmasını sağlamk istiyorum. Yardımcı olabilirseniz sevinirim. Teşekkürler.
Benim bilgim kisitli bu konuda. Umarim yardim edebilecek arkadaslar olacaktir.
dediginiz sekilde yaptim ama text kismina kelimeyi yazinca bos bir tablo sirasi gosteriyor