取消挂起的批更新。

语法

recordset.CancelBatch AffectRecords

参数

AffectRecords   可选的 AffectEnum 值,决定 CancelBatch 方法所影响记录的数目,可为下列常量之一:

常量

说明

AdAffectCurrent

仅取消当前记录的挂起更新。

AdAffectGroup

对满足当前 Filter 属性设置的记录取消挂起更新。使用该选项时,必须将 Filter 属性设置为合法的预定义常量之一。

AdAffectAll

默认值。取消 Recordset 对象中所有记录的挂起更新,包括由当前 Filter 属性设置所隐藏的任何记录。

 

说明

使用 CancelBatch 方法可取消批更新模式下记录集中所有挂起的更新。如果记录集处于立即更新模式,调用不带 adAffectCurrent CancelBatch 将产生错误。

如果调用 CancelBatch 时正在编辑当前记录或添加新记录,则 ADO 首先调用 CancelUpdate 方法取消所有已被缓存的修改,然后取消记录集中挂起的所有更改。

有可能在 CancelBatch 调用后,特别是在添加新记录时无法确定当前记录。为此,在 CancelBatch 调用后将当前记录位置设置为记录集中的已知位置是明智的。例如可调用 MoveFirst 方法。

如果由于与基本数据冲突(如记录已被其他用户删除)而导致取消挂起更新失败,则提供者将向 Errors 集合返回警告,但不终止程序的执行。只有当所有请求的记录都发生冲突时才发生运行时错误。使用 Filter 属性 (adFilterAffectedRecords) 和 Status 属性可以对冲突记录进行定位。