Fungsi JetGetCurrentIndex
Berlaku untuk: Windows | Windows Server
Fungsi JetGetCurrentIndex
Fungsi JetGetCurrentIndex menentukan nama indeks saat ini dari kursor tertentu. Nama ini juga digunakan untuk memilih ulang indeks tersebut sebagai indeks saat ini menggunakan JetSetCurrentIndex. Ini juga dapat digunakan untuk menemukan properti indeks tersebut menggunakan JetGetTableIndexInfo.
JET_ERR JET_API JetGetCurrentIndex(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__out JET_PSTR szIndexName,
__in unsigned long cchIndexName
);
Parameter
sesid
Sesi yang digunakan untuk panggilan ini.
tableid
Kursor yang digunakan untuk panggilan ini.
szIndexName
Buffer output yang menerima nama indeks kursor saat ini.
cchIndexName
Ukuran maksimum dalam karakter buffer output.
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 |
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_errNotInitialized |
Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi belum diinisialisasi. |
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. |
JET_wrnBufferTruncated |
Operasi berhasil diselesaikan, tetapi buffer output terlalu kecil untuk menerima seluruh nama indeks. Buffer output telah diisi dengan nama indeks sebanyak yang sesuai. Jika buffer output setidaknya satu karakter panjangnya maka string dalam buffer output tersebut akan dihentikan null. Catatan Kesalahan ini tidak akan dikembalikan jika cchIndexName adalah nol. Silakan lihat bagian Keterangan untuk informasi selengkapnya. |
Jika berhasil, nama indeks saat ini dari kursor yang diberikan akan dikembalikan dalam buffer output. Jika JET_wrnBufferTruncated dikembalikan maka buffer output akan berisi sebanyak nama indeks seperti yang akan pas di ruang yang disediakan. Jika buffer output setidaknya satu karakter panjangnya maka string yang dikembalikan dalam buffer tersebut akan dihentikan null. Tidak ada perubahan pada status database yang akan terjadi.
Jika gagal, status buffer output tidak akan terdefinisi. Tidak ada perubahan pada status database yang akan terjadi.
Keterangan
Jika tidak ada indeks saat ini untuk kursor, string kosong akan dikembalikan. Ini dapat terjadi ketika kursor berada pada indeks kluster tabel dan tidak ada indeks utama yang ditentukan. Indeks ini dikenal sebagai indeks berurutan dari tabel dan tidak memiliki definisi. Bagaimanapun, mengatur indeks saat ini ke string kosong menggunakan JetSetCurrentIndex akan memilih indeks berkluster terlepas dari keberadaan definisi indeks utama.
Ada bug penting dalam fungsi ini yang ada di semua rilis. Jika buffer output terlalu kecil untuk menerima seluruh nama indeks dan buffer output setidaknya satu karakter panjangnya maka JET_wrnBufferTruncated TIDAK akan dikembalikan. JET_errSuccess akan dikembalikan sebagai gantinya. Untuk menghindari masalah ini, panjang buffer output harus selalu setidaknya JET_cbNameMost + 1 (65).
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 JetGetCurrentIndexW (Unicode) dan JetGetCurrentIndexA (ANSI). |
Lihat juga
JET_ERR
JET_SESID
JET_TABLEID
JetGetTableIndexInfo
JetSetCurrentIndex
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk