EditMode 屬性
指出目前記錄的編輯狀態。
傳回值
傳回 EditModeEnum 值。
備註
ADO 會維護與目前記錄相關聯的編輯緩衝區。 此屬性會指出是否已對此緩衝區進行變更,還是已建立新的記錄。 使用 EditMode 屬性來判斷目前記錄的編輯狀態。 如果編輯程序中斷,您可以對暫止的變更進行測試,並判斷是否需要使用 Update 或 CancelUpdate 方法。
在立即更新模式中,成功呼叫 Update 方法之後,EditMode 屬性會重設為 adEditNone 。 例如,當呼叫 Delete 無法成功刪除資料來源中的記錄 (因為參考完整性違規) 時,Recordset 會維持在編輯模式 (EditMode = adEditInProgress)。 因此,必須先呼叫 CancelUpdate,才能移動目前記錄 (例如透過 Move、NextRecordset 或 Close)。
在批次更新模式中 (提供者會在您呼叫 UpdateBatch 方法時,在其中快取多個變更並寫入基礎資料來源),執行第一個作業時,EditMode 屬性的值會變更,而且不會透過 Update 方法呼叫來重設。 後續作業不會變更 EditMode 屬性的值,即使執行不同作業也一樣。 例如,如果第一個作業是新增記錄,而第二個作業是對現有記錄進行變更,則 EditMode 的屬性仍會是 adEditAdd。 在呼叫 UpdateBatch 之前,EditMode 屬性不會重設為 adEditNone。 若要判斷已執行的作業為何,請將 Filter 屬性設定為 adFilterPending,以便只顯示具有暫止變更的記錄,並檢查每個記錄的 Status 屬性,以判斷資料上所做的變更。
注意
只有在有目前記錄時,EditMode 才能傳回有效的值。 如果 BOF 或 EOF 為 true,或目前記錄已刪除,EditMode 會傳回錯誤。
套用至
另請參閱
CursorType、LockType 和 EditMode 屬性範例 (VB)
CursorType、LockType 和 EditMode 屬性範例 (VC++)
AddNew 方法 (ADO)
Delete 方法 (ADO Recordset)
CancelUpdate 方法 (ADO)
Update 方法