VB.NET İle 3 Tablolu İlişki

ByToluidin

Özel Üye
27 Ocak 2007
3,178
1
603
3 tabloyu datarelation ile birbirine baglıyoruz.
öncelikle iliskiSQL adında bir veritabanı ve içinede 3 tane tablo1,tablo2,tablo3 adında tablo olusturuyoruz.
tablo1 de numara,adi,soyadi olacak.numara primary keyimiz.
tablo2 de ID,numara,adi,soyadi olacak.ID primary keyimiz.
tablo3 de ID,numara,adi,soyadiolacak.ID primary keyimiz.
Sonra yeni bir windows uygulaması acıyoruz.3 tane datagrid atıyoruz.liste1,liste2,liste3 adında.
sonra asagıdaki güzelim kodları yazıyorsunuz :)
----------------------------------------------------------------------
Imports System.Data.SqlClient 'EN ÜSTTE BU :)
'Bunlarıda Windows Form Designer generated code un altına yazıyorsunuz.
Public constr As String = "Server=Localhost;Database=iliskiSQL;Integrated Security=SSPI"
Public conn As SqlConnection = New SqlConnection(constr)
Public cmd As SqlCommand = New SqlCommand
Public dap1 As SqlDataAdapter = New SqlDataAdapter
Public dap2 As SqlDataAdapter = New SqlDataAdapter
Public dap3 As SqlDataAdapter = New SqlDataAdapter
Public ds As DataSet = New DataSet
Dim sqllistele1 As String = "SELECT * FROM tablo1"
Dim sqllistele2 As String = "SELECT * FROM tablo2"
Dim sqllistele3 As String = "SELECT * FROM tablo3"
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cmd.CommandText = sqllistele1
cmd.Connection = conn
dap1.SelectCommand = cmd
dap1.Fill(ds, "tablo1")
cmd.CommandText = sqllistele2
dap2.SelectCommand = cmd
dap2.Fill(ds, "tablo2")
cmd.CommandText = sqllistele3
dap3.SelectCommand = cmd
dap3.Fill(ds, "tablo3")
ds.Relations.Add("tablo1_tablo2", ds.Tables("tablo1").Columns("numara"), ds.Tables("tablo2").Columns("numara"))
ds.Relations.Add("tablo2_tablo3", ds.Tables("tablo2").Columns("ID"), ds.Tables("tablo3").Columns("numara"))
liste1.SetDataBinding(ds, "tablo1")
liste2.SetDataBinding(ds, "tablo1.tablo1_tablo2")
liste3.SetDataBinding(ds, "tablo1.tablo1_tablo2.tablo2_tablo3")
End Sub
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.