Senin, 18 Mei 2009

ADONET DATASET multiple tables OLEDB

The DataSet contains DataTableCollection and their DataRelationCollection. The DataTableCollection contains zero or more DataTable objects. The OleDbDataAdapter object allows us to populate DataTables in a DataSet. We can use Fill method in the OleDbDataAdapter for populating data in a Dataset. We can populate Dataset with more than one table at a time using OleDbDataAdapter Object . The following VB.NET source code shows how to a single OleDbDataAdapter fill Dataset with multiple tables.

connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Your mdb filename;"

firstSql = "Your First SQL Statement Here"
secondSql = "Your Second SQL Statement Here"

You have to replace the string with your real time variables.

Imports System.Data.OleDb
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim connetionString As String
Dim connection As OleDbConnection
Dim oledbAdapter As OleDbDataAdapter
Dim ds As New DataSet
Dim firstSql As String
Dim secondSql As String
Dim i As Integer
connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Your mdb filename;"
firstSql = "Your First SQL Statement Here"
secondSql = "Your Second SQL Statement Here"
connection = New OleDbConnection(connetionString)
Try
connection.Open()
oledbAdapter = New OleDbDataAdapter(firstSql, connection)
oledbAdapter.Fill(ds, "First Table")
oledbAdapter.SelectCommand.CommandText = secondSql
oledbAdapter.Fill(ds, "Second Table")
oledbAdapter.Dispose()
connection.Close()
'retrieve first table data
For i = 0 To ds.Tables(0).Rows.Count - 1
MsgBox(ds.Tables(0).Rows(i).Item(0) & " -- " & ds.Tables(0).Rows(i).Item(1))
Next
'retrieve second table data
For i = 0 To ds.Tables(1).Rows.Count - 1
MsgBox(ds.Tables(1).Rows(i).Item(0) & " -- " & ds.Tables(1).Rows(i).Item(1))
Next
Catch ex As Exception
MsgBox("Can not open connection ! ")
End Try
End Sub
End Class

0 komentar: