Fungsi JetGotoSecondaryIndexBookmark

Berlaku untuk: Windows | Windows Server

Fungsi JetGotoSecondaryIndexBookmark

Fungsi JetGotoSecondaryIndexBookmark memposisikan kursor ke entri indeks yang terkait dengan bookmark indeks sekunder yang ditentukan. Bookmark indeks sekunder harus digunakan dengan indeks yang sama di atas tabel yang sama tempat awalnya diambil. Bookmark indeks sekunder untuk entri indeks dapat diambil menggunakan JetGotoSecondaryIndexBookmark.

Windows XP:JetGotoSecondaryIndexBookmark diperkenalkan di Windows XP.

    JET_ERR JET_API JetGotoSecondaryIndexBookmark(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          void* pvSecondaryKey,
      __in          unsigned long cbSecondaryKey,
      __in_opt      void* pvPrimaryBookmark,
      __in          unsigned long cbPrimaryBookmark,
      __in          const JET_GRBIT grbit
    );

Parameter

sesid

Sesi yang digunakan untuk panggilan ini.

tableid

Kursor yang digunakan untuk panggilan ini.

pvSecondaryKey

Buffer yang berisi kunci sekunder untuk digunakan untuk memosisikan kursor.

cbSecondaryKey

Ukuran kunci sekunder dalam buffer.

pvPrimaryBookmark

Buffer yang berisi marka buku kunci utama untuk digunakan untuk memosisikan kursor.

cbPrimaryBookmark

Ukuran bookmark kunci utama di buffer.

grbit

Sekelompok bit yang menentukan nol atau beberapa opsi berikut.

Nilai

Makna

JET_bitBookmarkPermitVirtualCurrency

Jika entri indeks tidak dapat ditemukan lagi, kursor akan dibiarkan diposisikan di mana entri indeks tersebut sebelumnya ditemukan. Operasi masih akan gagal dengan JET_errRecordDeleted; namun, dimungkinkan untuk pindah ke entri indeks berikutnya atau sebelumnya relatif terhadap entri indeks yang sekarang hilang.

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 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

Marka buku indeks sekunder yang disediakan tidak valid. Kesalahan ini mungkin terjadi karena kunci sekunder adalah nol atau penunjuk buffer kunci sekunder adalah NULL. Kesalahan ini terjadi karena

  • Indeks sekunder saat ini tidak memiliki batasan keunikan dan ukuran marka buku yang disediakan adalah nol.

  • Penunjuk buffer bookmark adalah NULL.

JET_errNoCurrentIndex

Kursor saat ini tidak berada pada indeks sekunder. Tidak bermakna untuk membuka bookmark indeks sekunder ketika kursor saat ini tidak menggunakan indeks sekunder. JetGotoBookmark harus digunakan ketika kursor tidak berada pada indeks sekunder.

JET_errNotInitialized

Operasi tidak dapat diselesaikan karena instans yang terkait dengan sesi belum diinisialisasi.

JET_errRecordDeleted

Entri indeks yang terkait dengan bookmark indeks sekunder 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 yang terkait dengan marka buku indeks sekunder 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 agar kursor dapat digunakan, kunci pencarian tersebut akan dihapus. Tidak ada perubahan pada status database yang akan terjadi.

Jika fungsi ini gagal, posisi kursor tetap tidak berubah kecuali JET_errRecordDeleted dikembalikan dan JET_bitBookmarkPermitVirtualCurrency ditentukan. Dalam hal ini, kursor akan diposisikan di mana entri indeks yang terkait dengan marka buku indeks sekunder yang ditentukan akan berada. Kursor dapat dipindahkan relatif terhadap posisi tersebut, tetapi masih tidak pada entri indeks yang valid.

Jika rekaman telah disiapkan untuk pembaruan, pembaruan tersebut akan dibatalkan. Jika rentang indeks berlaku, rentang indeks tersebut akan dibatalkan. Jika kunci pencarian telah dibuat agar kursor dapat digunakan, kunci pencarian tersebut akan dihapus. Bagaimanapun, tidak ada perubahan pada status database yang akan terjadi.

Persyaratan

Persyaratan Nilai

Klien

Memerlukan Windows Vista atau Windows XP.

Server

Memerlukan Windows Server 2008 atau Windows Server 2003.

Header

Dinyatakan dalam Esent.h.

Pustaka

Gunakan ESENT.lib.

DLL

Membutuhkan ESENT.dll.

Lihat juga

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetGetSecondaryIndexBookmark
JetGotoBookmark
JetStopService