mySql 数据库 table 使用 VB.Net 在本地和远程之间同步
mySql database table sync between Local and Remote using VB.Net
我正在尝试将多个 table 从本地 mysql 数据库更新到远程 mysql 数据库。以下代码用于 insert/update 远程 table。
但是我收到以下错误。
System.InvalidOperationException: 'Update unable to find
TableMapping['productexceltemplatetransfer'] or DataTable
'productexceltemplatetransfer'.'
Dim tblStr As String = "select id,tablename from transtablename"
Dim transtblDT As DataTable = RetDatatable(tblStr, <<Local Connection String>>)
For i As Integer = 0 To transtblDT.Rows.Count - 1
Dim ds As New DataSet
strSql = "select * from " & transtblDT.Rows(i).Item("tablename").ToString
Using mcon As New MySqlConnection(<<Local Connection String>>)
Dim da As New MySqlDataAdapter(strSql, mcon)
mcon.Open()
aDt = RetDatatable(strSql, <<Local Connection String>>)
'da.Fill(ds)
ds = New DataSet(transtblDT.Rows(i).Item("tablename").ToString)
ds.Tables.Add(aDt)
mcon.Close()
End Using
Using mcon As New MySqlConnection(<<Remote Connection String>>)
Dim da As New MySqlDataAdapter("SELECT * FROM " & transtblDT.Rows(i).Item("tablename").ToString, mcon)
Dim cb As New MySqlCommandBuilder(da)
mcon.Open()
da.Update(ds, transtblDT.Rows(i).Item("tablename").ToString)
mcon.Close()
End Using
Next
请求您帮助解决这个问题。
现在我已经修改了代码,它工作正常。
Dim tblStr As String = "select id,tablename from transtablename"
Dim transtblDT As DataTable = RetDatatable(tblStr, <<Local Connection String>>)
For i As Integer = 0 To transtblDT.Rows.Count - 1
Dim ds As New DataSet
strSql = "select * from " & transtblDT.Rows(i).Item("tablename").ToString
Using mcon As New MySqlConnection(<<Local Connection String>>)
Dim da As New MySqlDataAdapter(strSql, mcon)
mcon.Open()
da.Fill(ds, transtblDT.Rows(i).Item("tablename").ToString)
mcon.Close()
End Using
Using mcon As New MySqlConnection(<<Remote Connection String>>)
Dim da As New MySqlDataAdapter("SELECT * FROM " & transtblDT.Rows(i).Item("tablename").ToString, mcon)
Dim cb As New MySqlCommandBuilder(da)
mcon.Open()
For j As Integer = 0 To ds.Tables(0).Rows.Count - 1
ds.Tables(0).Rows(j).SetAdded()
Next j
da.Update(ds, transtblDT.Rows(i).Item("tablename").ToString)
mcon.Close()
End Using
Next
我正在尝试将多个 table 从本地 mysql 数据库更新到远程 mysql 数据库。以下代码用于 insert/update 远程 table。 但是我收到以下错误。
System.InvalidOperationException: 'Update unable to find TableMapping['productexceltemplatetransfer'] or DataTable 'productexceltemplatetransfer'.'
Dim tblStr As String = "select id,tablename from transtablename"
Dim transtblDT As DataTable = RetDatatable(tblStr, <<Local Connection String>>)
For i As Integer = 0 To transtblDT.Rows.Count - 1
Dim ds As New DataSet
strSql = "select * from " & transtblDT.Rows(i).Item("tablename").ToString
Using mcon As New MySqlConnection(<<Local Connection String>>)
Dim da As New MySqlDataAdapter(strSql, mcon)
mcon.Open()
aDt = RetDatatable(strSql, <<Local Connection String>>)
'da.Fill(ds)
ds = New DataSet(transtblDT.Rows(i).Item("tablename").ToString)
ds.Tables.Add(aDt)
mcon.Close()
End Using
Using mcon As New MySqlConnection(<<Remote Connection String>>)
Dim da As New MySqlDataAdapter("SELECT * FROM " & transtblDT.Rows(i).Item("tablename").ToString, mcon)
Dim cb As New MySqlCommandBuilder(da)
mcon.Open()
da.Update(ds, transtblDT.Rows(i).Item("tablename").ToString)
mcon.Close()
End Using
Next
请求您帮助解决这个问题。
现在我已经修改了代码,它工作正常。
Dim tblStr As String = "select id,tablename from transtablename"
Dim transtblDT As DataTable = RetDatatable(tblStr, <<Local Connection String>>)
For i As Integer = 0 To transtblDT.Rows.Count - 1
Dim ds As New DataSet
strSql = "select * from " & transtblDT.Rows(i).Item("tablename").ToString
Using mcon As New MySqlConnection(<<Local Connection String>>)
Dim da As New MySqlDataAdapter(strSql, mcon)
mcon.Open()
da.Fill(ds, transtblDT.Rows(i).Item("tablename").ToString)
mcon.Close()
End Using
Using mcon As New MySqlConnection(<<Remote Connection String>>)
Dim da As New MySqlDataAdapter("SELECT * FROM " & transtblDT.Rows(i).Item("tablename").ToString, mcon)
Dim cb As New MySqlCommandBuilder(da)
mcon.Open()
For j As Integer = 0 To ds.Tables(0).Rows.Count - 1
ds.Tables(0).Rows(j).SetAdded()
Next j
da.Update(ds, transtblDT.Rows(i).Item("tablename").ToString)
mcon.Close()
End Using
Next