UpdateBatch 方法
将所有挂起的批处理更新写入磁盘。
语法
recordset.UpdateBatch AffectRecords, PreserveStatus
参数
AffectRecords
自选。
AffectEnum 值,该值指示 UpdateBatch 方法将影响多少条记录。
PreserveStatus
自选。 一个 布尔值 值,该值指定是否应提交由 Status 属性指示的本地更改。 如果此值设置为 True,则完成更新后,每个记录的 Status 属性保持不变。
言论
在批处理更新模式下修改 Recordset 对象时,请使用 UpdateBatch 方法,将 Recordset 对象中所做的所有更改传输到基础数据库。
如果 Recordset 对象支持批处理更新,则可以在本地缓存对一个或多个记录的多个更改,直到调用 UpdateBatch 方法。 如果在调用 UpdateBatch 方法时编辑当前记录或添加新记录,则 ADO 将自动调用 Update 方法,在将批处理更改传输到提供程序之前保存对当前记录的任何挂起更改。 应仅对键集或静态游标使用批处理更新。
注意
将 adAffectGroup 指定为此参数的值将导致在当前 Recordset 中没有可见记录(例如没有记录匹配的筛选器)时出错。
如果由于与基础数据发生冲突而尝试传输更改的任何记录或所有记录失败(例如,记录已被其他用户删除),提供程序将警告返回到 错误 集合,并发生运行时错误。 使用 Filter 属性(adFilterAffectedRecords)和 Status 属性查找有冲突的记录。
若要取消所有挂起的批处理更新,请使用 CancelBatch 方法。
如果设置了 唯一表 和 更新重新同步 动态属性,并且 Recordset 是对多个表执行 JOIN 操作的结果,则 UpdateBatch 方法的执行将隐式后跟 Resync 方法,具体取决于 Update Resync 属性的设置。
对数据源执行批处理的各个更新的顺序不一定与在本地 Recordset上执行的顺序相同。 更新顺序取决于提供程序。 在对彼此相关的更新进行编码时,请考虑到这一点,例如插入或更新的外键约束。
适用于
另请参阅
UpdateBatch 和 CancelBatch 方法示例 (VB)
UpdateBatch 和 CancelBatch 方法示例 (VC++)
CancelBatch 方法 (ADO)
Clear 方法 (ADO)
LockType 属性 (ADO)
Update 方法