共用方式為


AddNew 方法 (ADO)

為可更新 Recordset 物件建立新的記錄。

語法

  
recordset.AddNew FieldList, Values  

參數

記錄集
Recordset 物件。

FieldList
自選。 單一名稱,或新記錄中字段的名稱陣列或序數位置。


自選。 單一值,或新記錄中欄位的值陣列。 如果 Fieldlist 是陣列,Values 也必須是具有相同成員數目的陣列;否則,會發生錯誤。 功能變數名稱的順序必須符合每個數位中的域值順序。

言論

使用 AddNew 方法來建立和初始化新記錄。 使用 Supports 方法搭配 adAddNewCursorOptionEnum 值)來確認您是否可以將記錄新增至目前 Recordset 物件。

呼叫 AddNew 方法之後,新記錄會變成當前記錄,並在呼叫 Update 方法之後維持目前狀態。 由於新記錄會附加至 Recordset,因此在 Update 之後對 moveNext 的呼叫會移過 Recordset的結尾,使 EOF True。 如果 Recordset 物件不支援書籤,則一旦您移至另一筆記錄,可能無法存取新記錄。 視數據指標類型而定,您可能需要呼叫 Requery 方法來存取新的記錄。

如果您在編輯當前記錄或新增記錄時呼叫 AddNew,ADO 會呼叫 Update 方法來儲存任何變更,然後建立新的記錄。

AddNew 方法的行為取決於 Recordset 物件的更新模式,以及您是否傳遞 FieldlistValues 自變數。

立即更新模式(提供者在呼叫 Update 方法之後,將變更寫入基礎數據源),呼叫 AddNew 方法,而不使用自變數將 EditMode 屬性設定為 adEditAddEditModeEnum 值)。 提供者會在本機快取任何域值變更。 呼叫 Update 方法會將新記錄張貼至資料庫,並將 EditMode 屬性重設為 adEditNone EditModeEnum 值)。 如果您傳遞 FieldlistValues 自變數,ADO 會立即將新記錄張貼至資料庫(不需要 Update 呼叫):EditMode 屬性值不會變更 (adEditNone)。

批次更新模式中(提供者會快取多個變更,並且只有在呼叫 UpdateBatch 方法時,才會將變更寫入基礎數據源),呼叫 AddNew 方法,而不使用自變數將 editMode EditMode 屬性設定為 adEditAdd。 提供者會在本機快取任何域值變更。 呼叫 Update 方法會將新記錄新增至目前的 Recordset,但提供者不會將變更張貼至基礎資料庫,或將 EditMode 重設為 adEditNone,直到您呼叫 UpdateBatch 方法為止。 如果您傳遞 FieldlistValues 自變數,ADO 會將新記錄傳送至快取中記憶體的提供者,並將 EditMode 設定為 adEditAdd ;您必須呼叫 UpdateBatch 方法來將新記錄張貼至基礎資料庫。

下列範例示範如何使用 AddNew 方法搭配包含的欄位清單和值清單,以查看如何將欄位清單和值清單當做數位來包含。

create table aa1 (intf int, charf char(10))  
insert into aa1 values (2, 'aa')  
  
Dim cn As New adodb.Connection  
Dim rs As New adodb.Recordset  
Dim cmd As New adodb.Command  
  
cn.ConnectionString = "Provider=SQLOLEDB;Data Source=alexverb2;uid=sa;pwd=<password>;"  
  
cn.Open  
rs.Open "select * from xxx..aa1", cn, adOpenKeyset, adLockOptimistic  
  
Dim fieldsArray(1) As Variant  
fieldsArray(0) = "intf"  
fieldsArray(1) = "charf"  
Dim values(1) As Variant  
values(0) = 4  
values(1) = "as"  
rs.AddNew fieldsArray, values  
rs.Update  

適用於

Recordset 物件 (ADO)

另請參閱

AddNew 方法範例 (VB)
AddNew 方法範例 (VBScript)
AddNew 方法範例 (VC++)
CancelUpdate 方法 (ADO)
EditMode 屬性
Requery 方法
支援方法
Update 方法
UpdateBatch 方法