Delete 方法(ADO 记录集)
删除当前记录或一组记录。
语法
recordset.Delete AffectRecords
参数
AffectRecords
一个 AffectEnum 值,该值确定 Delete 方法将影响多少条记录。 默认值为“adAffectCurrent”。
注意
adAffectAll 和 adAffectAllChapters 不是 Delete 的有效参数。
备注
使用 Delete 方法标记当前记录或 Recordset 对象中的一组记录,以便删除。 如果 Recordset 对象不允许删除记录,则会发生错误。 如果处于立即更新模式,则会立即在数据库中进行删除操作。 如果无法成功删除记录(例如,由于数据库完整性冲突),则记录将在调用 Update 后保持编辑模式。 这意味着在移出当前记录之前,必须使用 CancelUpdate 取消更新(例如,使用 Close、Move 或 NextRecordset)。
如果处于批量更新模式,则记录会被标记为要从缓存中删除,并在调用 UpdateBatch 方法时发生实际删除。 可使用 Filter 属性查看已删除的记录。
从已删除的记录中检索字段值将生成错误。 删除当前记录后,已删除的记录将保持当前状态,直到移动到其他记录。 从已删除的记录移开后,它将不再可访问。
如果将删除嵌套在事务中,则可以使用 RollbackTrans 方法恢复已删除的记录。 如果处于批量更新模式,可以使用 CancelBatch 方法取消一个或一组挂起的删除。
例如,如果由于与基础数据发生冲突(例如,其他用户已删除记录),尝试删除记录失败,提供程序会向 Errors 集合返回警告,但不会停止程序执行。 仅当所有请求的记录发生冲突时,才会发生运行时错误。
如果设置了 Unique Table 动态属性,而 Recordset 是对多个表执行 JOIN 操作的结果,则 Delete 方法将仅从 Unique Table 属性中命名的表中删除行。
应用于
另请参阅
Delete 方法示例 (VB)
Delete 方法示例 (VBScript)
Delete 方法示例 (VC++)
Delete 方法(ADO 字段集合)
Delete 方法(ADO 参数集合)
DeleteRecord 方法 (ADO)