Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Windows | Windows Server
Fungsi JetSetCurrentIndex2
Fungsi JetSetCurrentIndex2 mengatur indeks kursor saat ini yang menentukan rekaman mana dalam tabel yang terlihat oleh kursor tersebut dan urutan munculnya dengan memilih kumpulan entri indeks yang akan digunakan untuk mengekspos rekaman tersebut.
JET_ERR JET_API JetSetCurrentIndex2(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in_opt JET_PCSTR szIndexName,
__in JET_GRBIT grbit
);
Parameter
sesid
Sesi yang digunakan untuk panggilan ini.
tableid
Kursor yang digunakan untuk panggilan ini.
szIndexName
Nama indeks yang akan dipilih untuk kursor.
Jika parameter ini NULL atau string kosong maka indeks berkluster akan dipilih. Jika indeks utama ditentukan untuk tabel, indeks tersebut akan dipilih karena sama dengan indeks berkluster. Jika tidak ada indeks utama yang ditentukan untuk tabel, maka indeks berurutan akan dipilih. Indeks berurutan tidak memiliki definisi indeks. Lihat JetCreateIndex untuk informasi selengkapnya.
Jika pindexid bukan NULL, maka nama indeks akan diabaikan dan indeks akan dipilih oleh ID indeksnya.
grbit
Sekelompok bit yang berisi opsi yang akan digunakan untuk panggilan ini, yang mencakup nol atau beberapa hal berikut ini.
Nilai |
Makna |
|---|---|
JET_bitMoveFirst |
Opsi ini menunjukkan bahwa kursor harus diposisikan pada entri pertama indeks yang ditentukan. Jika indeks berkluster sedang dipilih (indeks utama atau indeks berurutan) dan indeks saat ini adalah indeks sekunder maka JET_bitMoveFirst diasumsikan. Jika indeks saat ini sedang dipilih, maka opsi ini diabaikan dan tidak ada perubahan pada posisi kursor yang dibuat. |
JET_bitNoMove |
Opsi ini menunjukkan bahwa kursor harus diposisikan pada entri indeks indeks baru yang sesuai dengan rekaman yang terkait dengan entri indeks pada posisi kursor saat ini pada indeks lama. Jika definisi untuk indeks baru berisi setidaknya satu kolom kunci multinilai maka entri indeks tujuan ambigu. Dalam hal ini, itagSequence yang ditentukan digunakan untuk memilih multinilai kolom kunci multinilai yang paling signifikan digunakan untuk memosisikan kursor. Hanya perlu meneruskan satu itagSequence bahkan dalam kasus beberapa kolom kunci multinilai karena mesin hanya memperluas semua nilai untuk kolom kunci multinilai yang paling signifikan. Lihat JetCreateIndex untuk detail selengkapnya. Jika JET_bitMoveFirst ditentukan, maka opsi ini diabaikan. Jika indeks saat ini sedang dipilih, maka opsi ini diabaikan dan tidak ada perubahan pada posisi kursor yang dibuat. Ketika parameter ini tidak ada, nilainya dianggap JET_bitMoveFirst. |
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_errBadItagSequence |
Indeks sekunder sedang dipilih dengan opsi JET_bitNoMove dan tidak ada nilai untuk kolom kunci multinilai pertama dalam definisi baru untuk indeks yang sesuai dengan nomor urutan yang ditentukan. |
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_errInvalidIndexId |
Konten ID indeks tidak valid atau telah kedaluwarsa dan perlu disegarkan. Ini dapat terjadi untuk JetSetCurrentIndex2 ketika:
|
JET_errInvalidName |
Salah satu nama objek yang ditentukan tidak valid. Semua nama objek harus sesuai dengan sekumpulan aturan yang sama. Aturan ini adalah sebagai berikut:
|
JET_errInvalidParameter |
Salah satu parameter yang disediakan berisi nilai yang tidak terduga atau berisi nilai yang tidak masuk akal ketika dikombinasikan dengan nilai parameter lain. Ini dapat terjadi untuk JetSetCurrentIndex2 ketika pindexid bukan NULL dan pindexid-cbStruct> bukan dari ukuran yang diharapkan (Windows XP dan rilis sebelumnya). |
JET_errNoCurrentRecord |
Indeks sekunder sedang dipilih dengan opsi JET_bitNoMove dan tidak ada entri indeks dalam indeks baru yang sesuai dengan rekaman yang terkait dengan entri indeks pada posisi kursor saat ini pada indeks lama. |
JET_errNotInitialized |
Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi belum diinisialisasi. |
JET_errOutOfCursors |
Mesin telah kelelahan kumpulan sumber dayanya yang digunakan untuk membuka kursor. Jumlah maksimum kursor yang dapat dibuka kapan saja dikontrol menggunakan JET_paramMaxCursors. Lihat JetSetSystemParameter untuk informasi selengkapnya. Ini dapat terjadi untuk JetSetCurrentIndex2 ketika indeks sekunder telah dipilih dan mesin tidak dapat membuka kursor internal untuk menggunakan indeks tersebut. |
JET_errRestoreInProgress |
Tidak dimungkinkan untuk menyelesaikan operasi 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. 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. |
Jika berhasil, indeks kursor saat ini diatur ke indeks yang diminta. Entri indeks sekarang dapat dicari menggunakan JetSeek sesuai dengan definisi indeks indeks yang diminta. Entri indeks juga dapat dijumlahkan menggunakan JetMove dalam urutan yang ditentukan oleh definisi indeks tersebut. Posisi kursor saat ini diatur ke entri indeks pertama pada indeks (JET_bitMoveFirst) atau ke entri indeks tertentu yang terkait dengan posisi kursor saat ini pada indeks lama (JET_bitNoMove). Tidak ada perubahan pada status database yang akan terjadi.
Jika gagal, indeks saat ini dan posisi kursor saat ini berada dalam status tidak terdefinisi. Tidak ada perubahan pada status database yang akan terjadi.
Keterangan
Jika petunjuk ID indeks kedaluarsa, MAKA API hanya gagal. Tidak ada fallback ke nama teks indeks dalam kasus ini seperti yang mungkin diharapkan. Fallback ini harus dilakukan secara manual oleh pemanggil API.
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. |
Unicode |
Diimplementasikan sebagai JetSetCurrentIndex2W (Unicode) dan JetSetCurrentIndex2A (ANSI). |
Lihat juga
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_INDEXID
JetCreateIndex
JetGetCurrentIndex
JetGetIndexInfo
JetGetTableIndexInfo
JetMove
JetSetSystemParameter
JetSeek
JetStopService