G
Guest
I have a program that runs a query ("Select * From MyTable") on an Access
Database and saves the results in a DataTable (see function, below). The
program then adds columns to the DataTable, then updates rows in the
DataTable with data for the new columns. I can write the DataTable to XML
and see the changes I have made.
How can I get the changes I have made to my DataTable to apply to my Access
Database?
HERE IS THE CODE USED TO GET THE DATATABLE:
Private Function DoSQLQuery(ByVal sQuery As String) As DataTable
Dim oDbReader As SqlDataReader
Dim oDataAdapter As SqlDataAdapter
Dim oDbCommand As SqlCommand
If gbForeignQueryBuilder Then
goDataTable = New DataTable("Query")
Else
goDataTable.Clear()
End If
gSqlConnection = New SqlConnection(gsConnectionString)
Try
gSqlConnection.Open()
oDbCommand = New SqlCommand(sQuery, gSqlConnection)
oDataAdapter = New SqlDataAdapter(oDbCommand)
oDataAdapter.Fill(goDataTable)
Return goDataTable
Catch e As Exception
Const ERR_IN_QUERY = 1002
Err.Raise(ERR_IN_QUERY, Me.CLASS_NAME, "Error in Query: " & e.ToString())
Finally
If Not (oDbReader Is Nothing) Then
oDbReader.Close()
End If
If Not (gSqlConnection Is Nothing) Then
gSqlConnection.Close()
End If
End Try
End Function
Database and saves the results in a DataTable (see function, below). The
program then adds columns to the DataTable, then updates rows in the
DataTable with data for the new columns. I can write the DataTable to XML
and see the changes I have made.
How can I get the changes I have made to my DataTable to apply to my Access
Database?
HERE IS THE CODE USED TO GET THE DATATABLE:
Private Function DoSQLQuery(ByVal sQuery As String) As DataTable
Dim oDbReader As SqlDataReader
Dim oDataAdapter As SqlDataAdapter
Dim oDbCommand As SqlCommand
If gbForeignQueryBuilder Then
goDataTable = New DataTable("Query")
Else
goDataTable.Clear()
End If
gSqlConnection = New SqlConnection(gsConnectionString)
Try
gSqlConnection.Open()
oDbCommand = New SqlCommand(sQuery, gSqlConnection)
oDataAdapter = New SqlDataAdapter(oDbCommand)
oDataAdapter.Fill(goDataTable)
Return goDataTable
Catch e As Exception
Const ERR_IN_QUERY = 1002
Err.Raise(ERR_IN_QUERY, Me.CLASS_NAME, "Error in Query: " & e.ToString())
Finally
If Not (oDbReader Is Nothing) Then
oDbReader.Close()
End If
If Not (gSqlConnection Is Nothing) Then
gSqlConnection.Close()
End If
End Try
End Function