Delete 方法 (ADO Recordset)

       

删除当前记录或记录组。

语法

recordset.Delete AffectRecords

参数

AffectRecords   AffectEnum 值,确定 Delete 方法所影响的记录数目,该值可以是下列常量之一。

常量 说明
AdAffectCurrent 默认。仅删除当前记录。
AdAffectGroup 删除满足当前 Filter 属性设置的记录。要使用该选项,必须将 Filter 属性设置为有效的预定义常量之一。
adAffectAll 删除所有记录。
adAffectAllChapters 删除所有子集记录。

说明

使用 Delete 方法可将 Recordset 对象中的当前记录或一组记录标记为删除。如果 Recordset 对象不允许删除记录将引发错误。使用立即更新模式将在数据库中进行立即删除,否则记录将标记为从缓存删除,实际的删除将在调用 UpdateBatch 方法时进行。(使用 Filter 属性可查看已删除的记录)。

从已删除的记录中检索字段值将引发错误。删除当前记录后,在移动到其他记录之前已删除的记录将保持为当前记录。一旦离开已删除记录,则无法再次访问它。

如果在事务中嵌套删除,可用 RollbackTrans 方法恢复已删除的记录。如果处于批更新模式,则可用 CancelBatch 方法取消一个或一组挂起删除。

如果因与基本数据冲突而导致删除记录失败(如记录已被其他用户删除),则提供者向 Errors 集合返回警告但不终止程序执行,只有在所有提出请求的记录上发生冲突时才会产生运行时错误。

如果 Unique Table 动态属性被设置,并且 Recordset 是对多个表执行 JOIN 操作的结果,那么,Delete 方法将仅删除 Unique Table 属性所命名的表中的行。