EditMode 属性

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

返回值

返回 EditModeEnum 值。

言论

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

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

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

注意

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

适用于

Recordset 对象 (ADO)

另请参阅

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