Const ConnectionString As String = "server=YOURSERVERNAME;database=tempdb;uid=sa;pwd=YOURPASSWORD"
Dim MyDataset As New DataSet
Dim CustomersDA, AddressesDA As SqlDataAdapter
Dim CustomersTable, AddressesTable As DataTable
Dim bsParent, bsChild As BindingSource
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ReBind()
End Sub
Private Sub UpdateDBButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UpdateDBButton.Click
AddressesDA.Update(AddressesTable)
CustomersDA.Update(CustomersTable)
ReBind() '' refill to test whether changes were updated in db.
End Sub
Private Sub ReBind()
MyDataset = New DataSet
CustomersDA = New SqlDataAdapter("select Customers.* from Customers", ConnectionString)
AddressesDA = New SqlDataAdapter("select Addresses.* from Addresses", ConnectionString)
Dim cmdBldr As New SqlCommandBuilder(CustomersDA)
CustomersDA.UpdateCommand = cmdBldr.GetUpdateCommand
cmdBldr = New SqlCommandBuilder(AddressesDA)
AddressesDA.UpdateCommand = cmdBldr.GetUpdateCommand
CustomersDA.Fill(MyDataset, "Customers")
AddressesDA.Fill(MyDataset, "Addresses")
CustomersTable = MyDataset.Tables("Customers")
AddressesTable = MyDataset.Tables("Addresses")
MyDataset.Relations.Add("MyRelation", CustomersTable.Columns("CustomerId"), AddressesTable.Columns("CustomerId"))
bsParent = New BindingSource
bsChild = New BindingSource
bsParent.DataSource = MyDataset
bsParent.DataMember = "Customers"
bsChild.DataSource = bsParent
bsChild.DataMember = "MyRelation"
Me.DataGridView1.DataSource = bsParent
Me.DataGridView2.DataSource = bsChild
TextBox1.DataBindings.Clear()
TextBox2.DataBindings.Clear()
TextBox1.DataBindings.Add("Text", bsParent, "CustomerName")
TextBox2.DataBindings.Add("Text", bsChild, "City")
End Sub