Bagikan melalui


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.

Lihat juga

JET_ERR
JET_SESID
JET_TABLEID
JetGetBookmark