Bagikan melalui


Fungsi JetSeek

Berlaku untuk: Windows | Windows Server

Fungsi JetSeek

Fungsi JetSeek secara efisien memposisikan kursor ke entri indeks yang cocok dengan kriteria pencarian yang ditentukan oleh kunci pencarian di kursor tersebut dan ketidaksamaan yang ditentukan. Kunci pencarian harus telah dibangun sebelumnya menggunakan JetMakeKey.

    JET_ERR JET_API JetSeek(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          JET_GRBIT grbit
    );

Parameter

sesid

Sesi yang digunakan untuk panggilan ini.

tableid

Kursor yang digunakan untuk panggilan ini.

grbit

Sekelompok bit yang berisi opsi yang akan digunakan untuk panggilan ini. Grbit harus bukan nol dan harus menyertakan satu atau beberapa nilai yang tercantum dalam tabel berikut.

Nilai

Makna

JET_bitCheckUniqueness

Kode kesalahan khusus, JET_wrnUniqueKey, akan dikembalikan jika dapat ditentukan dengan murah bahwa tepat ada satu entri indeks yang cocok dengan kunci pencarian.

Opsi ini diabaikan kecuali JET_bitSeekEQ juga ditentukan.

Opsi ini hanya tersedia pada rilis Windows Server 2003 dan yang lebih baru.

JET_bitSeekEQ

Kursor akan diposisikan pada entri indeks yang paling dekat dengan awal indeks yang sama persis dengan kunci pencarian. Awal indeks adalah entri indeks yang ditemukan saat berpindah ke rekaman pertama dalam indeks tersebut. Awal indeks tidak sama dengan akhir rendah indeks, yang dapat berubah tergantung pada urutan pengurutan kolom kunci dalam indeks.

Tidak bermakna untuk menggunakan opsi ini dengan kunci pencarian yang dibangun menggunakan JetMakeKey menggunakan opsi kartubebas.

JET_bitSeekGE

Kursor akan diposisikan pada entri indeks yang paling dekat dengan awal indeks yang lebih besar dari atau sama dengan entri indeks yang sama persis dengan kriteria pencarian. Awal indeks adalah entri indeks yang ditemukan saat berpindah ke rekaman pertama dalam indeks tersebut. Awal indeks tidak sama dengan akhir rendah indeks, yang dapat berubah tergantung pada urutan pengurutan kolom kunci dalam indeks.

Tidak bermakna untuk menggunakan opsi ini dengan kunci pencarian yang dibangun menggunakan JetMakeKey menggunakan opsi kartubebas yang dimaksudkan untuk menemukan entri indeks yang paling dekat dengan akhir indeks.

JET_bitSeekGT

Kursor akan diposisikan pada entri indeks yang paling dekat dengan awal indeks yang lebih besar dari entri indeks yang sama persis dengan kriteria pencarian. Awal indeks adalah entri indeks yang ditemukan saat berpindah ke rekaman pertama dalam indeks tersebut. Awal indeks tidak sama dengan akhir rendah indeks, yang dapat berubah tergantung pada urutan pengurutan kolom kunci dalam indeks.

Tidak bermakna untuk menggunakan opsi ini dengan kunci pencarian yang dibangun menggunakan JetMakeKey menggunakan opsi kartubebas yang dimaksudkan untuk menemukan entri indeks yang paling dekat dengan awal indeks.

JET_bitSeekLE

Kursor akan diposisikan pada entri indeks yang paling dekat dengan akhir indeks yang kurang dari atau sama dengan entri indeks yang sama persis dengan kriteria pencarian. Akhir indeks adalah entri indeks yang ditemukan saat berpindah ke rekaman terakhir dalam indeks tersebut. Akhir indeks tidak sama dengan high end indeks, yang dapat berubah tergantung pada urutan pengurutan kolom kunci dalam indeks.

Tidak bermakna untuk menggunakan opsi ini dengan kunci pencarian yang dibangun menggunakan JetMakeKey menggunakan opsi kartubebas yang dimaksudkan untuk menemukan entri indeks yang paling dekat dengan awal indeks.

JET_bitSeekLT

Kursor akan diposisikan pada entri indeks yang paling dekat dengan akhir indeks yang kurang dari entri indeks yang sama persis dengan kriteria pencarian. Akhir indeks adalah entri indeks yang ditemukan saat berpindah ke rekaman terakhir dalam indeks tersebut. Akhir indeks tidak sama dengan high end indeks, yang dapat berubah tergantung pada urutan pengurutan kolom kunci dalam indeks.

Tidak bermakna untuk menggunakan opsi ini dengan kunci pencarian yang dibangun menggunakan JetMakeKey menggunakan opsi kartubebas yang dimaksudkan untuk menemukan entri indeks yang paling dekat dengan akhir indeks.

JET_bitSetIndexRange

Rentang indeks akan secara otomatis disiapkan untuk semua kunci yang sama persis dengan kunci pencarian. Rentang indeks yang dihasilkan identik dengan rentang yang akan dibuat dengan panggilan ke JetSetIndexRange dengan opsi JET_bitRangeInclusive dan JET_bitRangeUpperLimit. Lihat JetSetIndexRange untuk informasi selengkapnya.

Ini adalah metode yang nyaman untuk menemukan semua entri indeks yang cocok dengan kriteria pencarian yang sama.

Opsi ini diabaikan kecuali JET_bitSeekEQ juga ditentukan.

Tampilkan Nilai

Fungsi ini memungkinkan pengembalian JET_ERRs apa pun yang ditentukan dalam API ini. Untuk informasi selengkapnya tentang kesalahan Jet, lihat Kesalahan Mesin Penyimpanan yang Dapat Diperluas dan Parameter Penanganan Kesalahan.

Menampilkan kode

Deskripsi

JET_errSuccess

Operasi berhasil diselesaikan.

Untuk JetSeek, ini berarti bahwa entri indeks ditemukan yang sama persis dengan kriteria pencarian.

JET_errClientRequestToStopJetService

Tidak dimungkinkan untuk menyelesaikan operasi karena semua aktivitas pada instans yang terkait dengan sesi telah berhenti sebagai akibat dari panggilan ke JetStopService.

JET_errInstanceUnavailable

Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi telah mengalami kesalahan fatal yang mengharuskan akses ke semua data dicabut untuk melindungi integritas data tersebut.

Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru.

JET_errKeyNotMade

Tidak ada kunci pencarian saat ini untuk kursor. JetSeek mengharuskan kursor memiliki kunci pencarian yang valid karena akan menggunakannya untuk kriteria pencarian yang digunakan untuk menemukan entri indeks.

JET_errNotInitialized

Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi belum diinisialisasi.

JET_errRecordNotFound

Tidak ditemukan entri indeks yang cocok dengan kriteria pencarian.

JET_errRestoreInProgress

Tidak dimungkinkan untuk menyelesaikan operasi karena operasi pemulihan sedang berlangsung pada instans yang terkait dengan sesi.

JET_wrnSeekNotEqual

Entri indeks ditemukan yang cocok dengan kriteria pencarian. Namun, entri indeks itu tidak sama persis.

JET_errSessionSharingViolation

Sesi yang sama tidak dapat digunakan untuk lebih dari satu utas secara bersamaan.

Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru.

JET_errTermInProgress

Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi sedang dimatikan.

JET_wrnUniqueKey

Tepat satu entri indeks ditemukan yang sama persis dengan kriteria pencarian. Kesalahan ini hanya akan dikembalikan jika JET_bitSeekCheckUniqueness ditentukan dan murah untuk menentukan bahwa entri indeks yang cocok adalah satu-satunya entri indeks yang sama persis dengan kriteria pencarian.

Kesalahan ini hanya akan dikembalikan oleh Windows Server 2003 dan rilis yang lebih baru.

Jika berhasil, kursor akan diposisikan pada entri indeks yang cocok dengan kriteria pencarian. 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, maka kunci pencarian tersebut akan dihapus. Tidak ada perubahan pada status database yang akan terjadi. Ketika beberapa entri indeks memiliki nilai yang sama, entri yang paling dekat dengan awal indeks selalu dipilih.

Jika gagal, posisi kursor akan tetap tidak berubah kecuali JET_errRecordNotFound dikembalikan. Dalam hal ini, kursor akan diposisikan di mana entri indeks yang cocok dengan kriteria pencarian yang ditentukan oleh kunci pencarian dalam kursor tersebut dan ketidaksamaan yang ditentukan akan terjadi. 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 untuk kursor, maka kunci pencarian tersebut akan dihapus. Tidak ada perubahan pada status database yang akan terjadi.

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_GRBIT
JET_SESID
JET_TABLEID
JetMakeKey
JetSetIndexRange
JetStopService