Fungsi JetGotoBookmark
Berlaku untuk: Windows | Windows Server
Fungsi JetGotoBookmark
Fungsi JetGotoBookmark memposisikan kursor ke entri indeks untuk rekaman yang terkait dengan bookmark yang ditentukan. Bookmark dapat digunakan dengan indeks apa pun yang ditentukan di atas tabel. Bookmark untuk rekaman dapat diambil menggunakan JetGetBookmark.
JET_ERR JET_API JetGotoBookmark(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in void* pvBookmark,
__in unsigned long cbBookmark
);
Parameter
sesid
Sesi yang digunakan untuk panggilan ini.
tableid
Kursor yang digunakan untuk panggilan ini.
pvBookmark
Buffer yang berisi bookmark yang akan digunakan untuk memosisikan kursor.
cbBookmark
Ukuran bookmark di buffer.
Tampilkan Nilai
Fungsi ini mengembalikan jenis data JET_ERR dengan salah satu kode pengembalian berikut. Untuk informasi selengkapnya tentang kemungkinan kesalahan ESE, lihat Kesalahan Mesin Penyimpanan yang Dapat Diperluas dan Parameter Penanganan Kesalahan.
Menampilkan kode |
Deskripsi |
---|---|
JET_errSuccess |
Operasi berhasil diselesaikan. |
JET_errClientRequestToStopJetService |
Operasi tidak dapat diselesaikan karena semua aktivitas pada instans yang terkait dengan sesi telah berhenti sebagai akibat dari panggilan ke JetStopService. |
JET_errInstanceUnavailable |
Operasi tidak dapat diselesaikan karena instans yang terkait dengan sesi mengalami kesalahan fatal yang mengharuskan akses ke semua data dicabut untuk melindungi integritas data tersebut. Windows XP: Nilai pengembalian ini diperkenalkan di Windows XP. |
JET_errInvalidBookmark |
Bookmark yang disediakan tidak valid. Ini mungkin terjadi karena ukuran bookmark adalah nol atau penunjuk buffer bookmark adalah NULL. |
JET_errNoCurrentRecord |
Kursor berada pada indeks sekunder dan tidak ada entri indeks yang dapat ditemukan untuk rekaman yang terkait dengan bookmark. |
JET_errNotInitialized |
Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi belum diinisialisasi. |
JET_errRecordDeleted |
Rekaman yang terkait dengan marka buku tidak dapat ditemukan. |
JET_errRestoreInProgress |
Operasi tidak dapat diselesaikan karena operasi pemulihan sedang berlangsung pada instans yang terkait dengan sesi. |
JET_errSessionSharingViolation |
Sesi yang sama tidak dapat digunakan untuk lebih dari satu utas secara bersamaan. Windows XP: Nilai pengembalian ini diperkenalkan di Windows XP. |
JET_errTermInProgress |
Operasi tidak dapat diselesaikan karena instans yang terkait dengan sesi sedang dimatikan. |
Jika fungsi ini berhasil, kursor akan diposisikan pada entri indeks untuk rekaman yang terkait dengan marka buku yang ditentukan. Jika rekaman telah disiapkan untuk pembaruan, pembaruan tersebut akan dibatalkan. Jika rentang indeks berlaku, rentang indeks tersebut akan dibatalkan. Jika kunci pencarian telah dibuat untuk kursor, kunci pencarian tersebut akan dihapus. Tidak ada perubahan pada status database yang akan terjadi.
Jika fungsi ini gagal, posisi kursor akan tetap tidak berubah. Jika rekaman telah disiapkan untuk pembaruan, pembaruan tersebut akan dibatalkan. Jika rentang indeks berlaku, rentang indeks tersebut akan dibatalkan. Jika kunci pencarian telah dibuat untuk kursor, kunci pencarian tersebut akan dihapus. Tidak ada perubahan pada status database yang akan terjadi.
Keterangan
Ada dua cara untuk menggunakan bookmark untuk memposisikan kursor pada indeks. Yang pertama adalah menggunakan bookmark untuk memposisikan pada rekaman secara langsung. Ini terjadi ketika indeks kursor saat ini adalah indeks utama. Teknik ini berfungsi karena marka buku ESENT sama dengan kunci primer rekaman terkait.
Cara kedua untuk menggunakan marka buku adalah dengan memposisikannya pada entri dalam indeks sekunder yang sesuai dengan rekaman yang terkait dengan marka buku tersebut. Selama proses ini, mesin mencari rekaman aktual menggunakan bookmark pada indeks utama. Kemudian menggunakan data rekaman dan definisi indeks sekunder untuk menghitung kunci ke dalam indeks sekunder yang menunjuk ke rekaman. Kemudian memposisikan kursor pada entri indeks untuk kunci tersebut. Jika kursor saat ini berada pada indeks sekunder di atas satu atau beberapa kolom kunci multinilai, kursor akan diposisikan pada entri indeks yang sesuai dengan multinilai pertama dari masing-masing kolom kunci tersebut.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien |
Memerlukan Windows Vista, Windows XP, atau Windows 2000 Professional. |
Server |
Memerlukan Windows Server 2008, Windows Server 2003, atau Windows 2000 Server. |
Header |
Dinyatakan dalam Esent.h. |
Pustaka |
Gunakan ESENT.lib. |
DLL |
Membutuhkan ESENT.dll. |