Fungsi JetIndexRecordCount
Berlaku untuk: Windows | Windows Server
Fungsi JetIndexRecordCount
Fungsi JetIndexRecordCount menghitung jumlah entri dalam indeks saat ini dari posisi saat ini ke depan. Posisi saat ini disertakan dalam hitungan. Jumlahnya bisa lebih besar dari jumlah total rekaman dalam tabel jika indeks saat ini melebihi kolom multinilai dan instans kolom memiliki beberapa nilai. Jika tabel kosong, maka 0 akan dikembalikan untuk hitungan.
JET_ERR JET_API JetIndexRecordCount(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__out unsigned long* pcrec,
__in unsigned long crecMax
);
Parameter
sesid
Sesi yang digunakan untuk panggilan ini.
tableid
Kursor yang digunakan untuk panggilan ini.
pcrec
Penunjuk ke nilai panjang yang tidak ditandatangani untuk menerima hitungan.
crecMax
Jumlah maksimum rekaman yang akan dihitung. Nilai crecMax 0 menunjukkan bahwa jumlahnya tidak terbatas.
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 yang dikembalikan ini diperkenalkan di Windows XP. |
JET_errNoCurrentRecord |
Kursor saat ini tidak ada di rekaman dan tabel tidak kosong. Windows XP, Windows Server 2003, Windows 2000 Server, dan Windows 2000 Professional: Jika kursor diposisikan pada indeks kosong atau rentang indeks, maka JetIndexRecordCount secara keliru mengembalikan JET_errNoCurrentRecord. |
JET_errNotInitialized |
Operasi tidak dapat diselesaikan karena instans yang terkait dengan sesi belum diinisialisasi. |
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 yang dikembalikan ini diperkenalkan di Windows XP. |
JET_errTermInProgress |
Operasi tidak dapat diselesaikan karena instans yang terkait dengan sesi sedang dimatikan. |
Jika fungsi ini berhasil, jumlah pasti entri indeks termasuk posisi saat ini dan hingga crecMax (jika bukan 0), dikembalikan dalam panjang yang tidak ditandatangani yang diarahkan oleh pcrec.
Jika fungsi ini gagal, tidak ada perubahan yang dilakukan pada memori yang dialokasikan sebelumnya.
Keterangan
Jika tabel tidak kosong, maka kursor harus diposisikan ke rekaman untuk memulai hitungan. Hitungan akan mencakup rekaman ini, dan menghitung maju hingga batas yang diberikan dalam crecMax. Jika crecMax adalah 0 maka operasi akan terus menghitung hingga akhir indeks.
Rentang indeks dapat digunakan untuk membangun batasan akhir indeks buatan untuk hitungan. Dengan cara ini, subrang indeks dapat dihitung dengan tepat. Kursor harus diposisikan ke baris pertama dalam rentang. Akhir kunci rentang harus dibuat dan kemudian JetSetIndexRange harus digunakan untuk mengatur rentang atas, baik secara inklusif atau eksklusif. Terakhir, JetIndexRecordCount harus dipanggil untuk menghitung rentang dengan tepat.
JetIndexRecordCount mematuhi semantik transaksi dan mengembalikan hitungan yang akurat untuk sesi tertentu ini dalam status transaksi saat ini.
JetIndexRecordCount mengakses halaman daun indeks untuk menghitung entri dengan tepat. Akibatnya, ia dapat melakukan banyak I/O dan bisa lambat. Batasan crecMax harus digunakan untuk mencegah beban yang berlebihan. Jika rentang besar, maka mungkin untuk menghitung rentang dengan cara yang diperkirakan menggunakan JetGetRecordPosition.
Windows XP, Windows Server 2003, Windows 2000 Server, dan Windows 2000 Professional: Jika kursor diposisikan pada indeks kosong atau rentang indeks, maka JetIndexRecordCount secara keliru mengembalikan JET_errNoCurrentRecord daripada mengembalikan jumlah rekaman nol. Aplikasi harus memeriksa untuk melihat apakah indeks atau rentang indeks kosong dalam kasus ini.
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
JetGetRecordPosition
JetSetIndexRange
JetStopService
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