共用方式為


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 方法