Delete 方法 (ADO Recordset)

刪除目前的記錄或一組記錄。

語法

  
recordset.Delete AffectRecords  

參數

AffectRecords
AffectEnum值,決定 刪除 方法將會影響的記錄數目。 預設值為 adAffectCurrent

注意

adAffectAlladAffectAllChapters 不是有效的引數,無法 刪除

備註

使用 Delete 方法會將目前的記錄或記錄 物件中的一組記錄標記為刪除。 如果 記錄集 物件不允許刪除記錄,則會發生錯誤。 如果您是在立即更新模式中,則會立即在資料庫中進行刪除。 如果無法成功刪除記錄 (由於資料庫完整性違規(例如) ),記錄在呼叫 Update之後仍會維持在編輯模式中。 這表示您必須先取消 CancelUpdate 的更新,再將目前的記錄移出 (例如,使用 CloseMoveNextRecordset) 。

如果您是在批次更新模式中,則會將記錄標示為從快取中刪除,而且當您呼叫 UpdateBatch 方法時,就會實際刪除。 使用 Filter 屬性來查看已刪除的記錄。

從已刪除的記錄中取出域值會產生錯誤。 刪除目前的記錄之後,已刪除的記錄會維持在最新狀態,直到您移至不同的記錄為止。 當您離開已刪除的記錄之後,就無法再存取。

如果您在交易中嵌套刪除,您可以使用 RollbackTrans 方法來復原已刪除的記錄。 如果您是在批次更新模式中,可以使用 CancelBatch 方法來取消暫止的刪除或暫止刪除群組。

如果嘗試刪除記錄失敗,因為與基礎資料發生衝突 (例如,其他使用者) 已刪除記錄,則提供者會將警告傳回至 錯誤 集合,但不會停止程式執行。 只有在所有要求的記錄有衝突時,才會發生執行階段錯誤。

如果已設定 Unique table 動態屬性,而且 記錄集 是在多個資料表上執行聯結作業的結果,則 Delete 方法只會從 Unique table 屬性中所指定的資料表中刪除資料列。

套用至

Recordset 物件 (ADO)

另請參閱

Delete 方法範例 (VB)
Delete 方法範例 (VBScript)
Delete 方法範例 (VC++)
(ADO Fields 集合) 的 Delete 方法
Delete 方法 (ADO Parameters 集合)
DeleteRecord 方法 (ADO)