Kategoriler
C# Programlama Programlama Dilleri

C# İle Veritabanı İşlemleri – 2 Arama, Görüntüleme

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

Kategoriler
C# Programlama Programlama Dilleri

C# İle Veritabanı İşlemleri Insert,Update, Delete

Daha önce c# ile sql servera bağlanmayı anlatmıştım,şimdi de veritabanına bağlandıktan sonra yapılması muhtemel bir kaç işlem olan,veri ekleme(insert),veri silme(delete) ve veri güncelleme(update) işlemlerini örnek kodlar ile açıklayıcı bir şekilde anlatacağım..Öncelikle yapacağımız işlemi biraz anlatalım..

Öncelikle visual studio dan yeni bir windows application açalım ve uygulamamızın adına “ornekveritabani” diyelim.Vermiş olduğumuz bu isim kodumuzun içerisinde namespace olarak da yer alacak.Daha sonra formumuzun üzerine 3 tane textbox koyalım ve kod içinde anlaşılır olması için “Properties” kısmından textboxların (Name) özelliklerinden adlarını değiştirelim.

Textboxların isimlerini TxtKimlikNo,TxtAd ve TxtSoyad olarak değiştirelim..Sonra formumuza 3 tane de buton ekleyelim ve bu butonlarında isimlerini BtnKaydet,BtnSil ve BtnGuncelle olarak değiştirelim..Sanırım textbox ve buton isimlerinden hareketle ne yapacağımızı az çok anladınız..Kısaca toparlayacak olursak,textboxlara girilen kimlik numarası,adı ve soyadı gibi bilgileri butonlar aracılığıyla veritabanına kaydedecek,veritabanından silecek veya mevcut kaydı güncelleyeceğiz..Tabi aynı zamanda yapacağımız işlemin birde veritabanı kısmı var,o kısmada bir ufak değinecek olursak..

Sql servera bağlandıktan sonra,3 sütuna sahip bir tablo oluşturalım,”column name” kısımlarına sırasıyla KIMLIKNO,ADI,SOYADI diyelim ve “data type” kısımlarına ise sırasıyla bigint,varchar(30),varchar(30) diyelim ayrıca KIMLIKNO adlı columna boş geçilme izni vermeyelim yani “allow nulls” kısmını işaretlemeyelim..Yani kimlik numarasını girmemiş kimseyi veritabanına kaydetmeyelim..ayrıca oluşturduğumuz tablonun adı,column adları,veritabanı adı hatta sql server adı gibi bilgileri de kod içinde kullanmamız gerektiğini unutmayalım..Uygulamamızın veritabanı kısmınıda hazırladıktan sonra gelelim kod kısmına..

Yine namespace kısmına
using System.Data.SqlClient;
satırını ekliyoruz..

public void islem(string sorgu)
{
SqlConnection baglan = new SqlConnection();
baglan.ConnectionString =
@”Data Source=SENOL;Initial Catalog=BILGIISLEM;Integrated Security=True”;
baglan.Open();
SqlCommand sqlCommand1 = new SqlCommand();
sqlCommand1.Connection = baglan;
sqlCommand1.CommandText = sorgu;
sqlCommand1.ExecuteNonQuery();
baglan.Close();
}

private void BtnKaydet_Click(object sender, EventArgs e)
{

islem(”insert into TBLKAYIT(KIMLIKNO,ADI,SOYADI)

values(’”+TxtKimlikNo.Text+”‘,’”+TxtAd.Text+”‘,’”+TxtSoyad.Text+”‘)”);

}

private void BtnGuncelle_Click(object sender, EventArgs e)
{

islem(”update TBLKAYIT set ADI=’”+TxtAd.Text+”‘,SOYADI=’”+TxtSoyad.Text+”‘
where KIMLIKNO=’”+TxtKimlikNo.Text+”‘”);

}

private void BtnSil_Click(object sender, EventArgs e)
{

islem(”delete from TBLKAYIT where KIMLIKNO=’”+TxtKimlikNo.Text+”‘”);

}

Görüldüğü gibi textboxlara girilen bilgilere göre kayıt işlemi yaptık,silme ve güncelleme işlemini ise kimlik numarasına göre yaptık yani belirtilen kimlik numarasının ad ve soyadı bilgilerini güncelledik ve belirtilen kimlik numarasına ait kayıdı veritabanından silmiş olduk..Ve bütün bu işlemleri buton click olayları içinde gerçekleştirdik..

ConnectionString’imiz neydi diye bakacak olursak
“Data Source=SENOL;Initial Catalog=BILGIISLEM;Integrated Security=True”; imiş..
Yani TBLKAYIT adlı tablomuz,”BILGIISLEM” adlı veritabanı içinde imiş, sql server adımız ise “SENOL” imiş..ve sql servera bağlanırken herhangi bir kullanıcı adı ve şifre söz konusu değilmiş, olsa idi bunlarda bağlantı cümlemizde yerini alacaktı.. Zaten bağlantı cümlesinin nasıl elde edildiğini “C# İLE SQL SERVER BAĞLANTISI” adlı yazımda belirtmiş idim..

Kolay gelsin..

Yazar: Şenol TÜRK

Kategoriler
C# Programlama Programlama Dilleri Webmaster yardım

C# İLE SQL SERVER BAĞLANTISI

Şimdi c# ile sql servera bağlanmayı anlatacağım,fakat bunu yaparken toolbox ta ki nesneleri kullanmadan,veritabanı bağlantısı için gerekli nesneleri,kendimiz kod içinde oluşturacağız..bir metod yazacağız ve yazdığımız bu metod ile veritabanına bağlanarak istediğimiz işlemi gerçekleştireceğiz..örneğin veritabanına kayıt ekleme,silme,güncelleme gibi bütün işlemler için yazacağımız sql cümlelerini parametre olarak alan bir metod olacak..

Ayrıca kodumuzun en üst kısmında bulunan namespace kısmına
using System.Data.SqlClient;
satırını eklemeyi unutmayın,yoksa programımız sql nesnelerini tanımayacaktır..

public void islem(string sorgu)
{
SqlConnection baglan = new SqlConnection();
baglan.ConnectionString =
@"Data Source=SENOL;Initial Catalog=senol;Integrated Security=True";
baglan.Open();
SqlCommand sqlCommand1 = new SqlCommand();
sqlCommand1.Connection = baglan;
sqlCommand1.CommandText = sorgu;
baglan.Close();
}

Yaptıklarımızı açıklayacak olursak,void tipinde yani geriye değer döndürmeyen tipde sql cümleciğini parametre olarak alan bir metod tanımladık.Öncelikle SqlConnection nesnesinden "baglan" adında yeni bir nesne oluşturduk,bu nesnenin ConnectionString özelliğine bağlantı cümlemizi yazdık,bu cümlenin ne olduğunu ve nasıl oluşturduğunu yazımın devamında anlattım..daha sonra bağlantımızı açtık.
Yine aynı şekilde SqlCommand nesnesinden "sqlCommand1" adında yeni bir nesne türettik ve bu nesneyi bağlantı nesnemiz olan "baglan" ile birbirine bağladık yani vereceğimiz sql cümlesine kaynak belirttik,işlemleri nereden yapacağını göstermiş olduk..Daha sonra ise "sqlCommand1" nesnemize parametre olarak gelen sql cümlesini verdik ve bağlantıyı kapadık..
Burada sql cümlemiz ne olabilir,bildiğimiz select,insert,delete,update gibi başlayan ve uzayan standart sql cümlelerimiz olacaktır.Bu ifadeleri fonksiyonu çağırdığımız yerde parametre olarak vereceğiz..

Örnek verecek olursak;

islem ("delete from TBLSENOL where ID=’" + ID.Text + "’");
islem ("select * from TBLSENOL );

gibi isteğimizi yerine getirecek olan sql cümlesini islem adlı metodumuza parametre olarak verebileceğiz..

Gelelim bağlantı cümlemize yani ConnectionString’e bu ifadeyi bir çok yol ile elde edebiliriz,benim tercih ettiğim yöntem uygulamamızın view kısmından server explorer’i görüntüleyip,server explorer’a sağ tıklayıp "add connection" diyerek,yeni bir bağlantı bildirimi açıp,gerekli server adı,veritabanı adı gibi kısımları belirtip,advance kısmından bağlantı cümlemizi elde etme şeklindedir,belirttiğim gibi birçok yöntemle bu bağlantı cümlemizi elde edebiliriz..Kolay gelsin..

Yazar: Şenol TÜRK