Mega Code Archive

 
Categories / VB.Net / ADO Database
 

Define Table relation and load combined data into DataGrid

Imports System  Imports System.Drawing  Imports System.Collections  Imports System.ComponentModel  Imports System.Windows.Forms  Imports System.Data  Imports System.Data.SqlClient   Public Class MainClass     Shared Sub Main(  )         Application.Run(New ADOForm1() )     End Sub     End Class   Public Class ADOForm1      Inherits System.Windows.Forms.Form      Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid      Private components As System.ComponentModel.Container      ' private System.Data.ADO.ADOConnection myConnection;      Private myConnection As System.Data.SqlClient.SqlConnection      Private myDataSet As System.Data.DataSet      Private myCommand As System.Data.SqlClient.SqlCommand      Private myCommand2 As System.Data.SqlClient.SqlCommand      Private myDataAdapter As System.Data.SqlClient.SqlDataAdapter      Private myDataAdapter2 As System.Data.SqlClient.SqlDataAdapter      Public Sub New(  )          InitializeComponent(  )          ' create the connection object and open it          Dim connectionString As String = _              "server=localhost; uid=sa; " & _              "pwd=YourPassword; database=northwind"          myConnection = _          New System.Data.SqlClient.SqlConnection(connectionString)          myConnection.Open(  )          ' create the DataSet and set a property          myDataSet = New System.Data.DataSet(  )          myDataSet.CaseSensitive = True          ' create the SqlCommand  object and assign the          ' connection and the select statement          myCommand = New System.Data.SqlClient.SqlCommand(  )          myCommand.Connection = myConnection          myCommand.CommandText = "Select * from Employees"          myCommand2 = New System.Data.SqlClient.SqlCommand(  )          myCommand2.Connection = myConnection          myCommand2.CommandText = "Select * from Orders"          ' create the myDataAdapter object and pass in the          ' SQL Command object and establish the table mappings          myDataAdapter = New System.Data.SqlClient.SqlDataAdapter(  )          myDataAdapter2 = New System.Data.SqlClient.SqlDataAdapter(  )          myDataAdapter.SelectCommand = myCommand          myDataAdapter2.SelectCommand = myCommand2          myDataAdapter.TableMappings.Add("Table", "Employees")          myDataAdapter2.TableMappings.Add("Table", "Orders")          ' Tell the myDataAdapter object to fill the DataSet          myDataAdapter.Fill(myDataSet)          myDataAdapter2.Fill(myDataSet)          Dim myDataRelation As System.Data.DataRelation          Dim dataColumn1 As System.Data.DataColumn          Dim dataColumn2 As System.Data.DataColumn          dataColumn1 = _              myDataSet.Tables("Employees").Columns("EmployeeID")          dataColumn2 = _              myDataSet.Tables("Orders").Columns("EmployeeID")          myDataRelation = New System.Data.DataRelation( _              "EmployeesToOrders", dataColumn1, dataColumn2)          myDataSet.Relations.Add(myDataRelation)          Dim dataSetView As DataViewManager = _              myDataSet.DefaultViewManager          ' display it in the grid          DataGrid1.DataSource = _              dataSetView          DataGrid1.DataMember = "Employees"      End Sub 'New      Private Sub InitializeComponent(  )          Me.components = New System.ComponentModel.Container(  )          Me.dataGrid1 = New System.Windows.Forms.DataGrid(  )          dataGrid1.Location = New System.Drawing.Point(48, 24)          dataGrid1.Size = New System.Drawing.Size(368, 160)          dataGrid1.TabIndex = 0          Me.Text = "ADOFrm1"          Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)          Me.ClientSize = New System.Drawing.Size(464, 273)          Me.Controls.Add(dataGrid1)      End Sub   End Class