Veritabanı uygulamaları ile ilgili paylaşımlarıma devam ediyorum. Şimdi de inner join ile 2 tablo arasında ilişki kurma üzerine bir örnek verdim. Bu örnekte; ürünler ve kategoriler var ve biz inner join ilişkisi ile hangi ürünün hangi kategoride olduğunu belirleyeceğiz.
Kodlarımıza ve veritabanımıza bakacak olursak:
Örnek veritabanımız şu şekilde olacak:
Ve inner join ilişkisi ile yapacağımız işlemi gerçekleştiren sorgu ise şöyle olacak:
string sorgu = "select kategoriler.kategori from kategoriler
inner join urunler on kategoriler.kategori_id=urunler.kategori_id
where urunler.urun_id=@urun_id";
Bu sorgu ile hangi ürünün hangi kategoride olduğunu seçiyoruz. Peki nasıl kullancağız? Yazacağımız string tipi metodla bu işlemi gerçekleştirip metot ile elde ettiğimiz kategoriyi döndereceğiz.
public string kategori_getir(string urun_id)
{
string sonuc = "";
string sorgu = "select kategoriler.kategori from kategoriler inner join urunler on kategoriler.kategori_id=urunler.kategori_id where urunler.urun_id=@urun_id";
OleDbCommand komut = new OleDbCommand(sorgu, baglanti);
komut.Parameters.AddWithValue("@urun_id", urun_id);
baglanti.Open();
OleDbDataReader oku = komut.ExecuteReader();
oku.Read();
sonuc = oku[0].ToString();
baglanti.Close();
return sonuc;
}
Bu metot ile dönen kategoriyi ise herhangi bir data formunda listelettiğim ürünlerin hemen altına yazdıracağım. Yaptığım uygulamanın ekran görüntüsü ise şöyle:
Access veritabanı ile yaptığım uygulamayı buradan indirebilirsiniz.
İyi Çalışmalar!