Bu yazımızda C# ile ilişkili 3 SQL tablosunu Inner Join kullanarak birleştirme ve DataGridView’de görüntüleme işlemini gerçekleştireceğiz. kutuphane veri tabanında bulunan tablolarımızı inceleyelim.
1- “ogrenci” Tablosu
2- “kitap” Tablosu
3- “islem” Tablosu
Tablolarımızı incelediğimizde “islem” tablosunda, öğrencilerin hangi kitapları aldığını alış ve veriş tarihleriyle birlikte kayıt altına alındığını görüyoruz. Fakat bu tabloyu incelediğimizde Normalizasyon Kuralları gereği sadece öğrenciye ait ogrno verisinin ve yine kitaba ait kitapno bilgisinin tutulduğunu görüyoruz.
Tablomuzu bu şekilde program içinde görüntülediğimiz zaman pek anlaşılır olmayacaktır. Örneğimizde bu tablonun öğrenci ve kitaba ait detayların görüntülenecek şekilde C# Windows Formda bulunan DataGridView kontrolüne aktarılmasını sağlayacağız.
Formumuzu basit bir şekilde oluşturacağız. Sadece bir dataGridView kontrolü ekleyeceğiz. Form_Load olayına yazacağımız kodlarla Verilerimizin istediğimiz şekilde görüntülenmesini sağlayacağız.
Kodlarımızı yazmaya başlıyoruz. Öncelikle aşağıdaki kütüphaneyi ekliyoruz.
Form_Load event’ ı için kodlarımız.
Kodlarımızı yazıp projemizi çalıştıralım.
Görüldüğü gibi islem tablosunda anlaşılmaz şekilde bulunan veriler yerine kayıttaki öğrenci ve kitaba ait istediğimiz alanların görüntülenmesini sağlamış olduk. Sütun başlıkları için Takma ad kullanmak isterseniz String sql değişkeninin aşağıdaki şekilde değiştirebilirsiniz.
Bu durumda proje çalıştırıldığında aşağıdaki görüntü elde edilecektir.
1- “ogrenci” Tablosu
2- “kitap” Tablosu
3- “islem” Tablosu
Tablolarımızı incelediğimizde “islem” tablosunda, öğrencilerin hangi kitapları aldığını alış ve veriş tarihleriyle birlikte kayıt altına alındığını görüyoruz. Fakat bu tabloyu incelediğimizde Normalizasyon Kuralları gereği sadece öğrenciye ait ogrno verisinin ve yine kitaba ait kitapno bilgisinin tutulduğunu görüyoruz.
Tablomuzu bu şekilde program içinde görüntülediğimiz zaman pek anlaşılır olmayacaktır. Örneğimizde bu tablonun öğrenci ve kitaba ait detayların görüntülenecek şekilde C# Windows Formda bulunan DataGridView kontrolüne aktarılmasını sağlayacağız.
Formumuzu basit bir şekilde oluşturacağız. Sadece bir dataGridView kontrolü ekleyeceğiz. Form_Load olayına yazacağımız kodlarla Verilerimizin istediğimiz şekilde görüntülenmesini sağlayacağız.
Kodlarımızı yazmaya başlıyoruz. Öncelikle aşağıdaki kütüphaneyi ekliyoruz.
Kod:
using System.Data.SqlClient;
Kod:
private void Form1_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("server=.; Initial Catalog=kutuphane;Integrated Security=SSPI");
DataTable dt = new DataTable();
string sql = "Select ogrenci.ogrno, ograd,ogrsoyad,kitapadi,sayfasayisi,atarih,vtarih from ogrenci join islem on ogrenci.ogrno = islem.ogrno join kitap on kitap.kitapno = islem.kitapno";
con.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, con);
da.Fill(dt);
dataGridView1.DataSource = dt;
}
Görüldüğü gibi islem tablosunda anlaşılmaz şekilde bulunan veriler yerine kayıttaki öğrenci ve kitaba ait istediğimiz alanların görüntülenmesini sağlamış olduk. Sütun başlıkları için Takma ad kullanmak isterseniz String sql değişkeninin aşağıdaki şekilde değiştirebilirsiniz.
Kod:
string sql = "Select ogrenci.ogrno AS [NO], ograd AS [ADI],ogrsoyad AS [SOYADI],kitapadi AS [OKUDUĞU KİTAP],sayfasayisi AS [SAYFA SAYISI],atarih AS [ALIŞ TARİH],vtarih AS [VERİŞ TARİHİ] from ogrenci join islem on ogrenci.ogrno = islem.ogrno join kitap on kitap.kitapno = islem.kitapno";