Metode Terbuka (Recordset ADO)

Membuka kursor pada objek Recordset .

Sintaks

  
recordset.Open Source, ActiveConnection, CursorType, LockType, Options  

Parameter

Sumber
Pilihan. Varian yang mengevaluasi ke objek Perintah yang valid, pernyataan SQL, nama tabel, panggilan prosedur tersimpan, URL, atau nama file atau objek Stream yang berisi Recordset yang disimpan secara terus-menerus.

ActiveConnection
Pilihan. Varian yang mengevaluasi ke nama variabel objek Koneksi yang valid, atau String yang berisi parameter ConnectionString.

Cursortype
Pilihan. Nilai CursorTypeEnum yang menentukan jenis kursor yang harus digunakan penyedia saat membuka Recordset. Nilai defaultnya adalah adOpenForwardOnly.

LockType
Opsional. Nilai LockTypeEnum yang menentukan jenis penguncian (konkurensi) apa yang harus digunakan penyedia saat membuka Recordset. Nilai defaultnya adalah adLockReadOnly.

Opsi
Opsional. Nilai Panjang yang menunjukkan bagaimana penyedia harus mengevaluasi argumen Sumber jika mewakili sesuatu selain objek Perintah , atau bahwa Recordset harus dipulihkan dari file tempat sebelumnya disimpan. Dapat berupa satu atau beberapa nilai CommandTypeEnum atau ExecuteOptionEnum , yang dapat dikombinasikan dengan operator OR bitwise.

Catatan

Jika Anda membuka Recordset dari Stream yang berisi Recordset yang bertahan, menggunakan nilai ExecuteOptionEnumadAsyncFetchNonBlocking tidak akan berpengaruh; pengambilan akan sinkron dan memblokir.

Catatan

Nilai ExecuteOpenEnumadExecuteNoRecords atau adExecuteStream tidak boleh digunakan dengan Open.

Keterangan

Kursor default untuk ADO Recordset adalah kursor baca-saja dan hanya-menerus yang terletak di server.

Menggunakan metode Buka pada objek Recordset membuka kursor yang mewakili rekaman dari tabel dasar, hasil kueri, atau Recordset yang disimpan sebelumnya.

Gunakan argumen Sumber opsional untuk menentukan sumber data menggunakan salah satu hal berikut: variabel objek Perintah , pernyataan SQL, prosedur tersimpan, nama tabel, URL, atau nama jalur file lengkap. Jika Sumber adalah nama jalur file, itu bisa menjadi jalur lengkap ("c:\dir\file.rst"), jalur relatif (".. . \file.rst"), atau URL (https://files/file.rst).

Bukan ide yang baik untuk menggunakan argumen Sumber dari metode Buka untuk melakukan kueri tindakan yang tidak mengembalikan rekaman karena tidak ada cara mudah untuk menentukan apakah panggilan berhasil. Recordset yang dikembalikan oleh kueri seperti itu akan ditutup. Untuk melakukan kueri yang tidak mengembalikan rekaman, seperti pernyataan SQL INSERT, panggil metode Jalankan objek Perintah atau metode Eksekusi objek Koneksi sebagai gantinya.

Argumen ActiveConnection sesuai dengan properti ActiveConnection dan menentukan koneksi mana yang akan membuka objek Recordset . Jika Anda meneruskan definisi koneksi untuk argumen ini, ADO membuka koneksi baru menggunakan parameter yang ditentukan. Setelah Anda membuka Recordset dengan kursor sisi klien dengan mengatur properti CursorLocation ke adUseClient, Anda dapat mengubah nilai properti ini untuk mengirim pembaruan ke penyedia lain. Atau Anda dapat mengatur properti ini ke Tidak Ada (di Microsoft Visual Basic) atau NULL untuk memutuskan sambungan Recordset dari penyedia mana pun. Namun, mengubah ActiveConnection untuk kursor sisi server menghasilkan kesalahan.

Untuk argumen lain yang terkait langsung dengan properti objek Recordset (Source, CursorType, dan LockType), hubungan argumen ke properti adalah sebagai berikut:

  • Properti adalah baca/tulis sebelum objek Recordset dibuka.

  • Pengaturan properti digunakan kecuali Anda meneruskan argumen yang sesuai saat menjalankan metode Buka . Jika Anda meneruskan argumen, argumen akan menggantikan pengaturan properti terkait, dan pengaturan properti diperbarui dengan nilai argumen.

  • Setelah Anda membuka objek Recordset , properti ini menjadi baca-saja.

Catatan

Properti ActiveConnection bersifat baca-saja untuk objek Recordset yang properti Sumbernya diatur ke objek Perintah yang valid, meskipun objek Recordset tidak terbuka.

Jika Anda meneruskan objek Perintah dalam argumen Sumber dan juga meneruskan argumen ActiveConnection , kesalahan terjadi. Properti ActiveConnection dari objek Perintah harus sudah diatur ke objek Koneksi atau string koneksi yang valid.

Jika Anda meneruskan sesuatu selain objek Perintah dalam argumen Sumber , Anda bisa menggunakan argumen Opsi untuk mengoptimalkan evaluasi argumen Sumber . Jika argumen Opsi tidak ditentukan, Anda mungkin mengalami performa yang berkurang karena ADO harus melakukan panggilan ke penyedia untuk menentukan apakah argumen adalah pernyataan SQL, prosedur tersimpan, URL, atau nama tabel. Jika Anda mengetahui jenis Sumber apa yang Anda gunakan, mengatur argumen Opsi menginstruksikan ADO untuk melompat langsung ke kode yang relevan. Jika argumen Opsi tidak cocok dengan jenis Sumber , kesalahan akan terjadi.

Jika Anda meneruskan objek Stream di argumen Sumber , Anda tidak boleh meneruskan informasi ke argumen lain. Melakukannya akan menghasilkan kesalahan. Informasi ActiveConnection tidak dipertahankan saat Recordset dibuka dari Stream.

Default untuk argumen Opsi adalah adCmdFile jika tidak ada koneksi yang terkait dengan Recordset. Ini biasanya akan menjadi kasus untuk objek Recordset yang disimpan secara terus-menerus.

Jika sumber data tidak mengembalikan rekaman, penyedia mengatur properti BOF dan EOF ke True, dan posisi rekaman saat ini tidak terdefinisi. Anda masih dapat menambahkan data baru ke objek Recordset kosong ini jika jenis kursor mengizinkannya.

Ketika Anda telah menyimpulkan operasi Anda melalui objek Recordset terbuka, gunakan metode Tutup untuk membebaskan sumber daya sistem terkait. Menutup objek tidak menghapusnya dari memori; Anda dapat mengubah pengaturan propertinya dan menggunakan metode Buka untuk membukanya lagi nanti. Untuk sepenuhnya menghilangkan objek dari memori, atur variabel objek ke Tidak Ada.

Sebelum properti ActiveConnection diatur, panggil Buka tanpa operand untuk membuat instans Recordset yang dibuat dengan menambahkan bidang ke kumpulan BidangRecordset.

Jika Anda telah mengatur properti CursorLocation ke adUseClient, Anda dapat mengambil baris secara asinkron dengan salah satu dari dua cara. Metode yang disarankan adalah mengatur Opsi ke adAsyncFetch. Atau, Anda dapat menggunakan properti dinamis "Pemrosesan Set Baris Asinkron" di koleksi Properti , tetapi peristiwa terkait yang diambil dapat hilang jika Anda tidak mengatur parameter Opsi ke adAsyncFetch.

Catatan

Pengambilan latar belakang di penyedia MS Remote hanya didukung melalui parameter Opsi metode Terbuka.

Catatan

URL yang menggunakan skema http akan secara otomatis memanggil Penyedia Microsoft OLE DB untuk Penerbitan Internet. Untuk informasi selengkapnya, lihat URL Absolut dan Relatif.

Kombinasi tertentu dari nilai CommandTypeEnum dan ExecuteOptionEnum tidak valid. Untuk informasi tentang opsi mana yang tidak dapat digabungkan, lihat topik untuk ExecuteOptionEnum, dan CommandTypeEnum.

Berlaku Untuk

Objek Recordset (ADO)

Lihat juga

Contoh Metode Buka dan Tutup (Visual Basic)
Contoh Metode Buka dan Tutup (VBScript)
Contoh Metode Buka dan Tutup (VC++)
Contoh Metode Simpan dan Buka (Visual Basic)
Metode Terbuka (Koneksi ADO)
Metode Terbuka (Catatan ADO)
Metode Terbuka (Aliran ADO)
Metode OpenSchema
Metode Simpan