Avatar of Mark Bakelaar
Mark Bakelaar
Flag for Norway

asked on 

Correct filling of dataset with multiple datatables

Hi,
I need to fill a dataset with multiple datatables and I doubt if I do it correctly. Currently I create a dataadapter and commandbuilder for every datatable in the same dataset. I assume however it is better to create a single dataadapter and/or commandbuilder but did not figure out how.

Below the code I use to fill and update the dataset including a fillschema.

Regards, MB
Public Class MainForm
 
    Public objCon As SqlConnection
    Dim connstring As String = My.Settings.ConnectionString
 
    Public daBookings As SqlDataAdapter
    Public cbBookings As SqlCommandBuilder
    Public daASNs As SqlDataAdapter
    Public cbASNs As SqlCommandBuilder
    
    Public objDataSet As DataSet
 
    Public Sub FillDataSet()
 
        Try
            objCon = New SqlConnection(connstring)
 
            daBookings = New SqlDataAdapter("SELECT * FROM Bookings", objCon)
            cbBookings = New SqlCommandBuilder(daBookings)
            daASNs = New SqlDataAdapter("SELECT * FROM ASNs", objCon)
            cbASNs = New SqlCommandBuilder(daASNs)
            
            objDataSet = New DataSet()
 
            daBookings.FillSchema(objDataSet, SchemaType.Source, "Bookings")
            daBookings.Fill(objDataSet, "Bookings")
            daASNs.FillSchema(objDataSet, SchemaType.Source, "ASNs")
            daASNs.Fill(objDataSet, "ASNs")
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical)
        Finally
            objCon.Close()
        End Try
    End Sub
 
 
Try
objCon.Open()
	daBookings.Update(objDataSet.Tables("Bookings"))
	daASNs.Update(objDataSet.Tables("ASNs"))
Catch ex As Exception
	MsgBox(ex.Message, MsgBoxStyle.Critical)
Finally
	objCon.Close()
End Try

Open in new window

Visual Basic.NET

Avatar of undefined
Last Comment
Priest04

8/22/2022 - Mon