Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Disconnect Baglanti Ve Dataset İçerisindeki İki Tablo Arasında İlişki Oluşturma

Yazar: ..

Kategori: ADO.NET & Entity Framework

Eklenme Tarihi: 25.05.2007 07:10:46

Bu makalemizde Disconnected bağlantı ile Datasetimizin içindeki 2 tablo arasında ilişki kuracağız. Bunun için 1 adet ComboBox ve 2 adet DataGrid’e ihtiyacımız var. Bu araçları formumuza ekliyoruz.

Disconnect Baglanti Ve Dataset İçerisindeki İki Tablo Arasında İlişki Oluşturma

Bu makalemizde Disconnected bağlantı ile Datasetimizin içindeki 2 tablo arasında ilişki kuracağız. Bunun için 1 adet ComboBox ve 2 adet DataGrid’e ihtiyacımız var. Bu araçları formumuza ekliyoruz.

Daha sonra Formun Load olayına yani form yüklendiğinde çalışacak olaya geçelim.

Kod bölümünde 2 adet DataTable oluşturuyoruz. Senaryomuz gereği bir adet Kategoriler ve bir adet’de Ürünler adında Table oluşturuyoruz.

Dim dt1 As New DataTable

dt1.TableName = "Kategoriler"

dt1.Columns.Add("KategoriID", GetType(Integer))

dt1.Columns.Add("Ad", GetType(String))

Dim dt2 As New DataTable

dt2.TableName = "Urunler"

dt2.Columns.Add("UrunID", GetType(Integer))

dt2.Columns.Add("Ad", GetType(String))

dt2.Columns.Add("Fiyat", GetType(Decimal))

dt2.Columns.Add("KategoriID", GetType(Integer))

Daha sonra Kategoriler tablomuzu Datarow’lar ile dolduruyoruz;

Dim r As DataRow

r = dt1.NewRow

r(0) = 1

r(1) = "Beyaz Eşya"

dt1.Rows.Add(r)

r = dt1.NewRow

r(0) = 2

r(1) = "Kırtasiye"

dt1.Rows.Add(r)

r = dt1.NewRow

r(0) = 3

r(1) = "Gıda"

dt1.Rows.Add(r)

Aşağıdaki kod bloğunda Random sınıfını kullanarak, kategorilerdeki her bir kategori için 200 adet ürün oluşturuyoruz ve bu ürünleri 100 ile 600 arasında fiyatlandırıp for next döngüsü ile ürünler adlı DataTable sınıfına dolduruyoruz.

Dim rr As New Random

For kactaneurunolustur As Integer = 1 To 200

r = dt2.NewRow

r(0) = x

r(1) = "Urun" & x

r(2) = rr.Next(100, 600)

r(3) = rr.Next(1, 4)

dt2.Rows.Add(r)

Next

Bir adet DataSet oluşturup bu DataTable sınıfındaki bütün kayıtları oluşturduğumuz DataSet sınıfının içerisine atıyoruz.

Dim ds As New DataSet

ds.Tables.Add(dt1)

ds.Tables.Add(dt2)

Şimdi sırada DataSet içindeki 2 tablo arasında ilişki kurmaya geldi.

ds.Relations.Add("rltUrunKategori", dt1.Columns(0), dt2.Columns(3)) 'datasetteki iki tablonun arasında ilişkiyi bu şekilde görüyoruz...

Me.DataGrid1.DataSource = dt1 'Kaynak olarak kategoriler tablosu gösteriliyor

Me.DataGrid2.DataSource = dt1

Me.DataGrid2.DataMember = "rltUrunKategori" 'datamember özelliği relation'ı gösterdiği için onun ilişkili olduğu tabloyu gösterir.

Me.ComboBox1.DataSource = dt1

Me.ComboBox1.DisplayMember = "Ad"

Me.ComboBox1.ValueMember = "KategoriID"

Yukarıda görüdüğünüz gibi DataSet sınıfı içindeki 2 tablo arasında disconnected bağlanti yöntemi ile ilişki kurduk.

Bir sonraki makalemizde Görüşmek üzere Hoşçakalın..

mustafasaygi@yahoo.com

MS

Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
ASP.NET MVC'yi Projeleriniz de kullandınız mı?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.