Bagikan melalui


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:

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

  1. Buat objek kelas turunan Anda CRecordset.

    Anda dapat membuat objek pada tumpukan atau pada bingkai tumpukan fungsi.

  2. Secara opsional ubah perilaku kumpulan rekaman default. Untuk opsi yang tersedia, lihat Mengatur Opsi Kumpulan Rekaman.

  3. 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 anggota m_nDefaultTypedata . Panduan menulis kode untuk menginisialisasi m_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:

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

  1. Panggil fungsi Tutup anggotanya.

  2. 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)