VB2010 使用 Access2007 作为后端。我正在创建一个 DataSet 并向其中添加几个 DataTables 并填充它们。大多数表都有少量记录,但一个表最多可以有一百万条记录。当我发出我的 .Update 命令时,有什么方法可以获取它的状态,以便我可以让用户知道它的 x% 已完成更新?
它工作得很好,但应用程序在更新时挂断了。
RowsUpdated = daNewParts.Update(dsInventory, "NewParts")
VB2010 使用 Access2007 作为后端。我正在创建一个 DataSet 并向其中添加几个 DataTables 并填充它们。大多数表都有少量记录,但一个表最多可以有一百万条记录。当我发出我的 .Update 命令时,有什么方法可以获取它的状态,以便我可以让用户知道它的 x% 已完成更新?
它工作得很好,但应用程序在更新时挂断了。
RowsUpdated = daNewParts.Update(dsInventory, "NewParts")
OleDbDataAdapter 有两个称为RowUpdated和RowUpdating的事件,您可以使用它们在行已更新时或在更新事件之前接收通知。
AddHandler daNewParts.RowUpdated, New OleDbRowUpdatedEventHandler(AddressOf OnRowUpdated)
Sub OnRowUpdated(ByVal sender As Object, ByVal args As OleDbRowUpdatedEventArgs)
.....
End Sub
这只是问题的第一部分,现在您需要知道开始操作时将更新多少行。这可以通过在您正在更新的 DataTable 上调用 GetChanges 来获得
Dim count As Integer
Dim changedData = dsInventory.Tables("NewParts").GetChanges()
if changedData IsNot Nothing Then
count = changedData.Rows.Count
End If
现在你可以建立你的进度条了