我正在尝试在VB.net中编写一个程序,这是一个“花式”数据库前端。该程序的目的是将数据库从“服务器”数据库所在的共享位置本地存储在用户计算机上。
本地副本和服务器副本都存储在数据集中,然后程序检查服务器副本以查看其最近是否有任何更新。如果是这样,它只会下载更新以减少带宽。
我想要做的是强制本地数据库承担服务器数据库的更改。但是,当使用 data-adapter.update 时,它没有注意到任何变化,因为它重新加载服务器数据集的方式是清除它,然后从头开始重新加载。
是否有任何有效的方法将服务器数据集强制到本地数据集,然后强制本地数据集在 BGW 中重写数据库?正如我之前所说,如果我只是清除本地服务器并将服务器一台复制到本地一台,则 data-adapter.update 似乎不会保存更改。
抱歉,如果我为此完全走错了路。任何建议或指导将不胜感激。
约翰
dsLocalDB.Clear() 'Clear the local dataset
dsLocalDB = dbServerDB.Copy 'copy the server dataset to the local dataset
LoadData() 'let the application reload all the new records
Dim cb As New OleDb.OleDbCommandBuilder(daLocalDB) 'Create a COmmand Builder
For i = 1 To TableNames.GetUpperBound(0) 'Loop through all the tables which have been stored as an array
For Each row As DataRow In dsLocalDB.Tables(TableNames(i)).Rows 'Loop through the rows, so we can see if it detects modified data. For testing purposes.
If row.RowState = DataRowState.Modified Then 'Its found modified data!
MsgBox("Found Modified Data Row!") 'Output a message
Exit For 'exit the for loop
End If
Next
daLocalDB.Update(dsLocalDB, TableNames(i)) 'Update the local database
Next i