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 會傳回錯誤。

套用至

Recordset 物件 (ADO)

另請參閱

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