Bagikan melalui


Recordset: Marka Buku dan Posisi Absolut (ODBC)

Topik ini berlaku untuk kelas MFC ODBC.

Saat menavigasi melalui kumpulan rekaman, Anda sering kali memerlukan cara untuk kembali ke rekaman tertentu. Marka buku dan posisi absolut rekaman menyediakan dua metode tersebut.

Topik ini menjelaskan:

Marka buku di MFC ODBC

Bookmark secara unik mengidentifikasi rekaman. Saat Anda menavigasi melalui kumpulan rekaman, Anda tidak selalu dapat mengandalkan posisi absolut rekaman karena rekaman dapat dihapus dari kumpulan rekaman. Cara yang dapat diandalkan untuk melacak posisi rekaman adalah dengan menggunakan marka bukunya. Kelas CRecordset menyediakan fungsi anggota untuk:

  • Mendapatkan marka buku rekaman saat ini, sehingga Anda dapat menyimpannya dalam variabel (GetBookmark).

  • Bergerak cepat ke rekaman tertentu dengan menentukan marka bukunya, yang Anda simpan sebelumnya dalam variabel (SetBookmark).

Contoh berikut mengilustrasikan cara menggunakan fungsi anggota ini untuk menandai rekaman saat ini dan kemudian kembali ke dalamnya:

// rs is a CRecordset or
// CRecordset-derived object

CDBVariant varRecordToReturnTo;
rs.GetBookmark( varRecordToReturnTo );

// More code in which you
// move to other records

rs.SetBookmark( varRecordToReturnTo );

Anda tidak perlu mengekstrak jenis data yang mendasar dari objek Kelas CDBVariant. Tetapkan nilai dengan GetBookmark dan kembali ke marka buku tersebut dengan SetBookmark.

Catatan

Bergantung pada driver ODBC dan jenis recordset Anda, marka buku mungkin tidak didukung. Anda dapat dengan mudah menentukan apakah marka buku didukung dengan memanggil CRecordset::CanBookmark. Selain itu, jika bookmark didukung, Anda harus secara eksplisit memilih untuk mengimplementasikannya dengan menentukan CRecordset::useBookmarks opsi dalam fungsi anggota CRecordset::Open . Anda juga harus memeriksa persistensi marka buku setelah operasi recordset tertentu. Misalnya, jika Anda Requery sebuah recordset, marka buku mungkin tidak lagi valid. Hubungi CDatabase::GetBookmarkPersistence untuk memeriksa apakah Anda dapat dengan aman memanggil SetBookmark.

Posisi Absolut di MFC ODBC

Selain marka buku, kelas CRecordset memungkinkan Anda untuk mengatur rekaman saat ini dengan menentukan posisi ordinal. Ini disebut posisi absolut.

Catatan

Penempatan absolut tidak tersedia pada kumpulan rekaman hanya-terusan. Untuk informasi selengkapnya tentang kumpulan rekaman hanya-terusan, lihat Recordset (ODBC).

Untuk memindahkan penunjuk rekaman saat ini menggunakan posisi absolut, panggil CRecordset::SetAbsolutePosition. Saat Anda meneruskan nilai ke SetAbsolutePosition, rekaman yang sesuai dengan posisi ordinal tersebut menjadi rekaman saat ini.

Catatan

Posisi absolut rekaman berpotensi tidak dapat diandalkan. Jika pengguna menghapus rekaman dari kumpulan rekaman, posisi ordinal dari rekaman berikutnya akan berubah. Marka buku adalah metode yang direkomendasikan untuk memindahkan rekaman saat ini. Untuk informasi selengkapnya, lihat Marka Buku di MFC ODBC.

Untuk informasi selengkapnya tentang navigasi recordset, lihat Recordset: Scrolling (ODBC).

Baca juga

Recordset (ODBC)