共用方式為


UpdateBatch 方法

將所有擱置的批次更新寫入磁碟。

語法

  
recordset.UpdateBatch AffectRecords, PreserveStatus  

參數

AffectRecords
自選。 AffectEnum 值,指出 updateBatch 方法會影響多少筆記錄。

PreserveStatus
自選。 布爾值 值,指定是否應該認可 Status 屬性所指示的本機變更。 如果此值設定為 True,則完成更新之後,每個記錄 Status 屬性都會維持不變。

言論

在批次更新模式中修改 Recordset 物件時,請使用 UpdateBatch 方法,將 Recordset 物件中所做的所有變更傳送至基礎資料庫。

如果 Recordset 物件支援批次更新,您可以在本機快取一或多個記錄的多個變更,直到您呼叫 UpdateBatch 方法為止。 如果您在呼叫 UpdateBatch 方法時編輯當前記錄或新增新記錄,ADO 會自動呼叫 Update 方法,以儲存目前記錄的任何暫止變更,再將批次變更傳送給提供者。 您應該只使用批次更新搭配索引鍵集或靜態數據指標。

注意

指定 adAffectGroup 做為此參數的值,當目前 Recordset 中沒有可見的記錄時,將會產生錯誤(例如沒有記錄相符的篩選)。

如果嘗試傳輸任何或所有記錄的變更失敗,因為與基礎數據發生衝突(例如,另一位使用者已經刪除記錄),提供者會將警告傳回至 Errors 集合,併發生運行時錯誤。 使用 Filter 屬性 (adFilterAffectedRecords) 和 Status 属性來找出有衝突的記錄。

若要取消所有擱置的批次更新,請使用 CancelBatch 方法。

如果已設定 Unique TableUpdate Resync 動態屬性,且 Recordset 是執行多個數據表之 JOIN 作業的結果,則 UpdateBatch 方法的執行會隱含地後面接著 Resync 方法,視 update Resync 属性 的設定而定。

批次的個別更新在數據源上執行的順序不一定與在本機 Recordset 上執行的順序相同。 更新順序取決於提供者。 當編碼彼此相關的更新時,請將其納入考慮,例如插入或更新上的外鍵條件約束。

適用於

Recordset 物件 (ADO)

另請參閱

UpdateBatch 和 CancelBatch 方法範例 (VB)
UpdateBatch 和 CancelBatch 方法範例 (VC++)
CancelBatch 方法 (ADO)
Clear 方法 (ADO)
LockType 屬性 (ADO)
Update 方法