Recordset: Membuat dan Menutup Recordsets (ODBC)
Catatan
Wizard MFC ODBC Consumer tidak tersedia di Visual Studio 2019 dan yang lebih baru. Anda masih dapat membuat konsumen secara manual.
Topik ini berlaku untuk kelas MFC ODBC.
Untuk menggunakan kumpulan rekaman, buat objek kumpulan rekaman lalu panggil fungsi anggotanya Open
untuk menjalankan kueri kumpulan rekaman dan pilih rekaman. Ketika Anda selesai dengan kumpulan rekaman, tutup dan hancurkan objek.
Topik ini menjelaskan:
Kapan dan bagaimana membuat objek recordset.
Kapan dan cara menutup objek recordset.
Membuat Recordset pada Run Time
Sebelum dapat membuat objek recordset di program, Anda biasanya menulis kelas recordset khusus aplikasi. Untuk informasi selengkapnya tentang langkah awal ini, lihat Menambahkan Konsumen ODBC MFC.
Buka objek dinaset atau rekam jepret saat Anda perlu memilih rekaman dari sumber data. Jenis objek yang akan dibuat tergantung pada apa yang perlu Anda lakukan dengan data dalam aplikasi Anda dan pada apa yang didukung driver ODBC Anda. Untuk informasi selengkapnya, lihat Dynaset dan Snapshot.
Untuk membuka kumpulan rekaman
Buat objek kelas turunan Anda
CRecordset
.Anda dapat membuat objek pada tumpukan atau pada bingkai tumpukan fungsi.
Secara opsional ubah perilaku kumpulan rekaman default. Untuk opsi yang tersedia, lihat Mengatur Opsi Kumpulan Rekaman.
Panggil fungsi Anggota terbuka objek.
Di konstruktor, teruskan penunjuk ke CDatabase
objek atau lewati NULL untuk menggunakan objek database sementara yang dibangun dan dibuka kerangka kerja berdasarkan string koneksi yang dikembalikan oleh fungsi anggota GetDefault Koneksi. Objek CDatabase
mungkin sudah tersambung ke sumber data.
Panggilan untuk Open
menggunakan SQL untuk memilih rekaman dari sumber data. Rekaman pertama yang dipilih (jika ada) adalah rekaman saat ini. Nilai bidang rekaman ini disimpan di anggota data bidang objek rekaman. Jika ada rekaman yang dipilih, fungsi IsBOF
anggota dan IsEOF
mengembalikan 0.
Dalam Panggilan terbuka, Anda dapat:
Tentukan apakah kumpulan rekaman adalah dynaset atau rekam jepret. Kumpulan rekaman terbuka sebagai rekam jepret secara default. Atau, Anda dapat menentukan kumpulan rekaman hanya-terusan, yang hanya memungkinkan pengguliran maju, satu rekaman dalam satu waktu.
Secara default, kumpulan rekaman menggunakan jenis default yang disimpan di
CRecordset
anggotam_nDefaultType
data . Panduan menulis kode untuk menginisialisasim_nDefaultType
ke tipe kumpulan rekaman yang Anda pilih di wizard. Daripada menerima default ini, Anda dapat mengganti jenis recordset lain.Tentukan string untuk menggantikan pernyataan SQL SELECT default yang dibangun oleh recordset.
Tentukan apakah himpunan rekaman bersifat baca-saja atau tambahkan-saja. Recordset memungkinkan pembaruan penuh secara default, tetapi Anda dapat membatasinya untuk menambahkan rekaman baru saja atau Anda dapat melarang semua pembaruan.
Contoh berikut menunjukkan cara membuka objek rekam jepret baca-saja dari kelas CStudentSet
, kelas khusus aplikasi:
// Construct the snapshot object
CStudentSet rsStudent( NULL );
// Set options if desired, then open the recordset
if(!rsStudent.Open(CRecordset::snapshot, NULL, CRecordset::readOnly))
return FALSE;
// Use the snapshot to operate on its records...
Setelah Anda memanggil Open
, gunakan fungsi anggota dan anggota data objek untuk bekerja dengan rekaman. Dalam beberapa kasus, Anda mungkin ingin mengkueri ulang atau menyegarkan kumpulan rekaman untuk menyertakan perubahan yang telah terjadi pada sumber data. Untuk informasi selengkapnya, lihat Recordset: Mengkueri Ulang Recordset (ODBC).
Tip
String koneksi yang Anda gunakan selama pengembangan mungkin bukan string koneksi yang sama dengan yang dibutuhkan pengguna akhir Anda. Untuk ide tentang menggeneralisasi aplikasi Anda dalam hal ini, lihat Sumber Data: Mengelola Koneksi ion (ODBC).
Mengatur Opsi Himpunan Rekaman
Setelah membuat objek recordset tetapi sebelum memanggil Open
untuk memilih rekaman, Anda mungkin ingin mengatur beberapa opsi untuk mengontrol perilaku recordset. Untuk semua kumpulan rekaman, Anda dapat:
Tentukan filter untuk membatasi pilihan rekaman.
Tentukan urutan pengurutan untuk rekaman.
Tentukan parameter sehingga Anda dapat memilih rekaman menggunakan informasi yang diperoleh atau dihitung pada waktu proses.
Anda juga dapat mengatur opsi berikut jika kondisinya tepat:
- Jika recordset dapat diperbarui dan mendukung opsi penguncian, tentukan metode penguncian yang digunakan untuk pembaruan.
Catatan
Untuk memengaruhi pilihan rekaman, Anda harus mengatur opsi ini sebelum memanggil Open
fungsi anggota.
Menutup Recordset
Setelah selesai dengan recordset, Anda harus membuangnya dan membatalkan alokasi memorinya.
Untuk menutup kumpulan rekaman
Panggil fungsi Tutup anggotanya.
Hancurkan objek recordset.
Jika Anda mendeklarasikannya pada bingkai tumpukan fungsi, objek akan dihancurkan secara otomatis ketika objek keluar dari cakupan. Jika tidak, gunakan
delete
operator.
Close
membebaskan handel recordset HSTMT
. Ini tidak menghancurkan objek C++.
Baca juga
Recordset (ODBC)
Recordset: Menggulir (ODBC)
Recordset: Menambahkan, Memperbarui, dan Menghapus Rekaman (ODBC)
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk