Metode AddNew (ADO)

Membuat rekaman baru untuk objek Recordset yang dapat diperbarui.

Sintaks

  
recordset.AddNew FieldList, Values  

Parameter

Recordset
Objek Recordset .

Daftar Bidang
Pilihan. Satu nama, atau array nama atau posisi ordinal bidang dalam rekaman baru.

Nilai
Opsional. Satu nilai, atau array nilai untuk bidang dalam rekaman baru. Jika Fieldlist adalah array, Nilai juga harus berupa array dengan jumlah anggota yang sama; jika tidak, kesalahan terjadi. Urutan nama bidang harus cocok dengan urutan nilai bidang di setiap array.

Keterangan

Gunakan metode TambahkanBaru untuk membuat dan menginisialisasi rekaman baru. Gunakan metode Dukungan dengan adAddNew (nilai CursorOptionEnum ) untuk memverifikasi apakah Anda bisa menambahkan rekaman ke objek Recordset saat ini.

Setelah Anda memanggil metode AddNew , rekaman baru menjadi rekaman saat ini dan tetap terkini setelah Anda memanggil metode Perbarui . Karena rekaman baru ditambahkan ke Recordset, panggilan ke MoveNext setelah Pembaruan akan bergerak melewati akhir Recordset, membuat EOF True. Jika objek Recordset tidak mendukung marka buku, Anda mungkin tidak dapat mengakses rekaman baru setelah anda pindah ke rekaman lain. Bergantung pada jenis kursor, Anda mungkin perlu memanggil metode Kueri Ulang untuk membuat rekaman baru dapat diakses.

Jika Anda memanggil TambahkanBaru saat mengedit rekaman saat ini atau saat menambahkan rekaman baru, ADO memanggil metode Pembaruan untuk menyimpan perubahan apa pun lalu membuat rekaman baru.

Perilaku metode AddNew bergantung pada mode pembaruan objek Recordset dan apakah Anda meneruskan argumen Fieldlist dan Values .

Dalam mode pembaruan langsung (di mana penyedia menulis perubahan pada sumber data yang mendasar setelah Anda memanggil metode Pembaruan ), memanggil metode AddNew tanpa argumen mengatur properti EditMode ke adEditAdd (nilai EditModeEnum ). Penyedia menyimpan semua perubahan nilai bidang secara lokal. Memanggil metode Pembaruan memposting rekaman baru ke database dan mengatur ulang properti EditMode ke adEditNone (nilai EditModeEnum ). Jika Anda meneruskan argumen Daftar Bidang dan Nilai , ADO segera memposting rekaman baru ke database (tidak diperlukan panggilan Pembaruan ); nilai properti EditMode tidak berubah (adEditNone).

Dalam mode pembaruan batch (di mana penyedia menyimpan beberapa perubahan dan menulisnya ke sumber data yang mendasar hanya ketika Anda memanggil metode UpdateBatch ), memanggil metode AddNew tanpa argumen mengatur properti EditMode ke adEditAdd. Penyedia menyimpan semua perubahan nilai bidang secara lokal. Memanggil metode Pembaruan menambahkan rekaman baru ke Recordset saat ini, tetapi penyedia tidak memposting perubahan ke database yang mendasar, atau mengatur ulang EditMode ke adEditNone, hingga Anda memanggil metode UpdateBatch . Jika Anda meneruskan argumen Fieldlist dan Values , ADO mengirimkan rekaman baru ke penyedia untuk penyimpanan dalam cache dan mengatur EditMode ke adEditAdd; Anda perlu memanggil metode UpdateBatch untuk memposting rekaman baru ke database yang mendasar.

Contoh

Contoh berikut menunjukkan cara menggunakan metode AddNew dengan daftar bidang dan daftar nilai yang disertakan, untuk melihat cara menyertakan daftar bidang dan daftar nilai sebagai array.

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=foo$bar00;"  
  
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  

Berlaku Untuk

Objek Recordset (ADO)

Lihat juga

Contoh Metode AddNew (Visual Basic)
Tambahkan Metode AddNew (VBScript)
Contoh Metode AddNew (VC++)
Metode CancelUpdate (ADO)
Properti EditMode
Metode Kueri Ulang
Metode Mendukung
Metode Pembaruan
Metode UpdateBatch