語法
recordset.UpdateBatch AffectRecords
參數(shù)
AffectRecords 可選,AffectEnum 值。決定 UpdateBatch 方法所影響的記錄數(shù)目??梢詾槿缦鲁A恐?。
常量 |
說明 |
adAffectCurrent |
只寫入當(dāng)前記錄的掛起更改。 |
adAffectGroup |
寫入滿足當(dāng)前 Filter 屬性設(shè)置的記錄所發(fā)生的掛起更改。必須將 Filter 屬性設(shè)置為某個(gè)有效的預(yù)定義常量才能使用該選項(xiàng)。 |
adAffectAll |
(默認(rèn)值)。寫入 Recordset 對(duì)象中所有記錄的掛起更改,包括由于當(dāng)前 Filter 屬性設(shè)置而隱藏的任何記錄。 |
adAffectAllChapters |
寫入所有子集的掛起更改。 |
說明
按批更新模式修改 Recordset 對(duì)象時(shí),使用 UpdateBatch 方法可將 Recordset 對(duì)象中的所有更改傳遞到基本數(shù)據(jù)庫。
如果 Recordset 對(duì)象支持批更新,那么可以將一個(gè)或多個(gè)記錄的多重更改緩存在本地,然后再調(diào)用 UpdateBatch 方法。如果在調(diào)用 UpdateBatch 方法時(shí)正在編輯當(dāng)前記錄或者添加新的記錄,那么在將批更新傳送到提供者之前,ADO 將自動(dòng)調(diào)用 Update 方法保存對(duì)當(dāng)前記錄的所有掛起更改。
注意 只能對(duì)鍵集或靜態(tài)游標(biāo)使用批更新。
如果由于與基本的數(shù)據(jù)沖突而導(dǎo)致對(duì)所有或任意記錄的傳送更改失敗(如其他用戶已將記錄刪除),那么提供者將把警告返回給 Errors 集合,并發(fā)生運(yùn)行時(shí)錯(cuò)誤。使用 Filter 屬性 (adFilterAffectedRecords) 和 Status 屬性可以找到發(fā)生沖突的記錄。
要取消所有掛起的批更新,請(qǐng)使用 CancelBatch 方法。
如果設(shè)置了 Unique Table 和 Update Resync 動(dòng)態(tài)屬性,并且 Recordset 是對(duì)多個(gè)表執(zhí)行 JOIN 操作的結(jié)果,那么,取決于 Update Resync 屬性,執(zhí)行 UpdateBatch 方法會(huì)隱性導(dǎo)致 Resync 方法。