EditMode 属性

指示当前记录的编辑状态。

返回值

返回 EditModeEnum 值。

备注

ADO 维护与当前记录关联的编辑缓冲区。 该属性指示是否已对此缓冲区进行更改,或是否已创建新记录。 使用 EditMode 属性确定当前记录的编辑状态。 如果编辑过程中断,则可以测试挂起的更改,并确定是否需要使用 UpdateCancelUpdate 方法。

在立即更新模式下,成功调用 Update 方法后,EditMode 属性将重置为 adEditNone。 例如,如果调用 Delete 后未成功删除记录或数据源中的记录(例如由于引用完整性冲突),Recordset 会保持编辑模式 (EditMode = adEditInProgress)。 因此,在 (移动当前记录之前,必须调用 CancelUpdate ,例如使用 MoveNextRecordsetClose) 。

在批处理更新模式下,(仅在调用 UpdateBatch 方法时,提供程序缓存多个更改并将其写入基础数据源),EditMode 属性值在执行第一个操作时更改,并且不会通过对 Update 方法的调用重置。 后续操作不会更改 EditMode 属性的值,即使执行了不同的操作也是如此。 例如,如果第一个操作是添加新记录,第二个操作将对现有记录进行更改,EditMode 的属性仍将为 adEditAdd。 在调用 UpdateBatch 之前,EditMode 属性不会重置为 adEditNone。 若要确定已执行哪些操作,请将 Filter 属性设置为 adFilterPending,以便仅显示具有挂起的更改的记录,然后检查每个记录的 Status 属性以确定对数据所做的更改。

注意

仅当存在当前记录时,EditMode 才能返回有效值。 如果 BOF 或 EOF 为 True 或当前记录已被删除,EditMode 将返回错误。

应用于

记录集对象 (ADO)

另请参阅

CursorType、LockType 和 EditMode 属性示例 (VB)
CursorType、LockType 和 EditMode 属性示例 (VC++)
AddNew 方法 (ADO)
Delete 方法(ADO 记录集)
CancelUpdate 方法 (ADO)
Update 方法