此頁沒有內(nèi)容條目
內(nèi)容

   

創(chuàng)建可更新 Recordset 對象的新記錄。

語法

recordset.AddNew FieldList, Values

參數(shù)

FieldList   可選。新記錄中字段的單個名稱、一組名稱或序號位置。

Values   可選。新記錄中字段的單個或一組值。如果 Fields 是數(shù)組,那么 Values 也必須是有相同成員數(shù)的數(shù)組,否則將發(fā)生錯誤。字段名稱的次序必須與每個數(shù)組中的字段值的次序相匹配。

說明

使用 AddNew 方法創(chuàng)建和初始化新記錄。通過 adAddNew 使用 Supports 方法可驗證是否能夠?qū)⒂涗浱砑拥疆斍暗?Recordset 對象。

在調(diào)用 AddNew 方法后,新記錄將成為當前記錄,并在調(diào)用 Update 方法后繼續(xù)保持為當前記錄。如果 Recordset 對象不支持書簽,當移動到其他記錄時將無法對新記錄進行訪問。是否需要調(diào)用 Requery 方法訪問新記錄則取決于所使用的游標類型。

如果在編輯當前記錄或添加新記錄時調(diào)用 AddNew,ADO 將調(diào)用 Update 方法保存任何更改并創(chuàng)建新記錄。

AddNew 方法的行為取決于 Recordset 對象的更新模式以及是否傳送 Fields Values 參數(shù)。

在立即更新模式(調(diào)用 Update 方法時提供者會立即將更改寫入基本數(shù)據(jù)源)下,調(diào)用不帶參數(shù)的 AddNew 方法可將 EditMode 屬性設置為 adEditAdd。提供者將任何字段值的更改緩存在本地。調(diào)用 Update 方法可將新記錄傳遞到數(shù)據(jù)庫并將 EditMode 屬性重置為 adEditNone。如果傳送了 Fields Values 參數(shù),ADO 則立即將新記錄傳遞到數(shù)據(jù)庫(無須調(diào)用 Update),且 EditMode 屬性值沒有改變 (adEditNone)。

在批更新模式(提供者緩存多個更改并只在調(diào)用 UpdateBatch 時將其寫入基本數(shù)據(jù)源)下,調(diào)用不帶參數(shù)的 AddNew 方法可將 EditMode 屬性設置為 adEditAdd。提供者將任何字段值的更改緩存在本地。調(diào)用 Update 方法可將新的記錄添加到當前記錄集并將 EditMode 屬性重置為 adEditNone,但在調(diào)用 UpdateBatch 方法之前提供者不將更改傳遞到基本數(shù)據(jù)庫。如果傳送 Fields Values 參數(shù),ADO 則將新記錄發(fā)送給提供者以便緩存;需要調(diào)用 UpdateBatch 方法將新記錄傳遞到基本數(shù)據(jù)庫。

如果 Unique Table 動態(tài)屬性被設置,并且 Recordset 是對多個表執(zhí)行 JOIN 操作的結(jié)果,那么,AddNew 方法只能將字段插入到由 Unique Table 屬性所命名的表中。