- 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
ö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