UpdateBatch 方法

将所有挂起的批量更新写入磁盘。

语法

  
recordset.UpdateBatch AffectRecords, PreserveStatus  

参数

AffectRecords
可选。 一个 AffectEnum 值,指示 UpdateBatch 方法将影响的记录条数。

PreserveStatus
可选。 一个布尔值,指定是否应该提交由 Status 属性所指示的本地更改。 如果此值设置为 True,则每条记录的 Status 属性在更新完成后保持不变。

备注

在批量更新模式下修改 Recordset 对象以将 Recordset 对象所做的所有更改传输到基础数据库时,请使用 UpdateBatch 方法。

如果 Recordset 对象支持批量更新,则可以在本地缓存对一条或多条记录所做的多项更改,直至调用 UpdateBatch 方法。 如果在调用 UpdateBatch 方法时编辑当前记录或添加新记录,ADO 将自动调用 Update 方法,将任何挂起的更改保存到当前记录,然后再将批处理更改传输到提供程序。 应仅对键集或静态游标使用批量更新。

注意

如果指定 adAffectGroup 作为该参数的值,在当前 Recordset 中没有可见记录时将导致错误(例如没有记录匹配的筛选器)。

如果因为与基础数据冲突(例如,其他用户已删除记录),传输任何或所有记 录更改的尝试失败,提供程序会向Errors 集合返回警告,但不会停止程序执行。 可使用 Filter 属性 (adFilterAffectedRecords) 和 Status 属性查找具有冲突的记录。

若要取消所有挂起的批量更新,请使用 CancelBatch 方法。

如果设置了 Unique TableUpdate Resync 动态属性,并且 Recordset 是对多个表执行 JOIN 操作的结果,则执行 UpdateBatch 方法时会隐式后跟 Resync 方法,这取决于 Update Resync 属性的设置。

批处理的单个更新在数据源上执行的顺序不一定与它们在本地 Recordset 上执行的顺序相同。 更新顺序取决于提供程序。 在对彼此相关的更新进行编码时,例如插入或更新上的外键约束,请考虑到这一点。

应用于

记录集对象 (ADO)

另请参阅

UpdateBatch 和 CancelBatch 方法示例 (VB)
UpdateBatch 和 CancelBatch 方法示例 (VC++)
CancelBatch 方法 (ADO)
Clear 方法 (ADO)
LockType 属性 (ADO)
Update 方法