語法
recordset.CancelBatch AffectRecords
參數(shù)
AffectRecords 可選的 AffectEnum 值,決定 CancelBatch 方法所影響記錄的數(shù)目,可為下列常量之一:
常量 |
說明 |
AdAffectCurrent |
僅取消當(dāng)前記錄的掛起更新。 |
AdAffectGroup |
對滿足當(dāng)前 Filter 屬性設(shè)置的記錄取消掛起更新。使用該選項(xiàng)時(shí),必須將 Filter 屬性設(shè)置為合法的預(yù)定義常量之一。 |
AdAffectAll |
默認(rèn)值。取消 Recordset 對象中所有記錄的掛起更新,包括由當(dāng)前 Filter 屬性設(shè)置所隱藏的任何記錄。 |
說明
使用 CancelBatch 方法可取消批更新模式下記錄集中所有掛起的更新。如果記錄集處于立即更新模式,調(diào)用不帶 adAffectCurrent 的 CancelBatch 將產(chǎn)生錯(cuò)誤。
如果調(diào)用 CancelBatch 時(shí)正在編輯當(dāng)前記錄或添加新記錄,則 ADO 首先調(diào)用 CancelUpdate 方法取消所有已被緩存的修改,然后取消記錄集中掛起的所有更改。
有可能在 CancelBatch 調(diào)用后,特別是在添加新記錄時(shí)無法確定當(dāng)前記錄。為此,在 CancelBatch 調(diào)用后將當(dāng)前記錄位置設(shè)置為記錄集中的已知位置是明智的。例如可調(diào)用 MoveFirst 方法。
如果由于與基本數(shù)據(jù)沖突(如記錄已被其他用戶刪除)而導(dǎo)致取消掛起更新失敗,則提供者將向 Errors 集合返回警告,但不終止程序的執(zhí)行。只有當(dāng)所有請求的記錄都發(fā)生沖突時(shí)才發(fā)生運(yùn)行時(shí)錯(cuò)誤。使用 Filter 屬性 (adFilterAffectedRecords) 和 Status 屬性可以對沖突記錄進(jìn)行定位。