Fungsi JetRetrieveColumns
Berlaku untuk: Windows | Windows Server
Fungsi JetRetrieveColumns
Fungsi JetRetrieveColumns mengambil beberapa nilai kolom dari rekaman saat ini dalam satu operasi. Array struktur JET_RETRIEVECOLUMN digunakan untuk menjelaskan kumpulan nilai kolom yang akan diambil, dan untuk menjelaskan buffer output untuk setiap nilai kolom yang akan diambil.
JET_ERR JET_API JetRetrieveColumns(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in_out_opt JET_RETRIEVECOLUMN* pretrievecolumn,
__in unsigned long cretrievecolumn
);
Parameter
sesid
Sesi yang digunakan untuk panggilan ini.
tableid
Kursor yang digunakan untuk panggilan ini.
pretrievecolumn
Penunjuk ke array dari satu atau beberapa struktur JET_RETRIEVECOLUMN . Setiap struktur mencakup deskripsi nilai kolom mana yang akan diambil dan tempat menyimpan data yang dikembalikan.
cretrievecolumn
Jumlah struktur JET_RETRIEVECOLUMN dalam array yang diberikan oleh pretrievecolumn.
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 |
Nilai angka urutan kolom multinilai yang tidak valid telah diteruskan dalam pretinfo-itagSequence>. Nilai yang valid untuk angka urutan nilai kolom multinilai adalah 1 atau lebih besar. Nilai 0 (nol) valid untuk fungsi ini tetapi tidak valid untuk JetRetrieveColumn. |
JET_errBadColumnId |
ID kolom yang diberikan berada di luar batas hukum ID kolom. |
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_errColumnNotFound |
Kolom yang dijelaskan oleh columnid yang diberikan tidak ada dalam tabel. |
JET_errIndexTuplesCannotRetrieveFromIndex |
Kolom yang diindeks sebagai substring tidak dapat diambil dari indeks, karena hanya sebagian kecil kolom yang biasanya ada di setiap entri indeks. |
JET_errInvalidBufferSize |
Dalam beberapa kasus, buffer yang diberikan untuk kolom ambil harus berukuran cukup untuk mengembalikan jumlah nilai kolom apa pun. Misalnya, kolom escrow yang dapat diperbarui disesuaikan agar konsisten untuk konteks transaksional sesi panggilan dan penyesuaian ini memerlukan buffer yang disediakan oleh pemanggil. Jika ruang buffer tidak cukup disediakan, maka JET_errInvalidBufferSize dikembalikan dan tidak ada data kolom apa pun yang dikembalikan. |
JET_errInvalidgrbit |
Opsi yang disediakan tidak diketahui atau kombinasi ilegal dari pengaturan bit yang diketahui. |
JET_errInvalidParameter |
Satu atau beberapa parameter yang diberikan salah. Ini dapat terjadi jika retinfo.cbStruct lebih kecil dari ukuran JET_RETINFO. |
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. Windows XP: Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru. |
JET_errNoCurrentRecord |
Kursor tidak diposisikan pada rekaman. Ini dapat terjadi karena berbagai alasan. Misalnya, ini akan terjadi jika kursor saat ini diposisikan setelah rekaman terakhir pada indeks saat ini. |
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. Windows XP: 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 |
Seluruh nilai kolom tidak dapat diambil karena buffer yang diberikan lebih kecil dari ukuran kolom. |
Jika berhasil, data kolom dan ukuran kolom dikembalikan dalam buffer yang disediakan yang dijelaskan dalam array struktur JET_RETRIEVECOLUMN . Jika itagSequence diatur ke 0 (nol) untuk menunjukkan bahwa jumlah instans bidang multinilai diinginkan alih-alih data kolom, maka jumlah instans kolom multinilai dikembalikan di bidang itagSequence itu sendiri. Setiap struktur JET_RETRIEVECOLUMN memiliki bidang kesalahan yang berisi peringatan untuk kolom yang diambil. Jika kolom bernilai NULL , maka kode kesalahan akan diatur ke JET_wrnColumnNull.
Jika gagal, lokasi kursor dibiarkan tidak berubah dan tidak ada data yang disalin ke dalam buffer yang disediakan.
Keterangan
JetRetrieveColumns mendukung satu fitur yang tidak dilakukan JetRetrieveColumn . Ini adalah kemampuan untuk mengambil jumlah instans kolom multinilai. Tujuan dari fitur ini adalah untuk memungkinkan aplikasi mengambil semua nilai kolom. Ini dapat dilakukan dengan terlebih dahulu menentukan jumlah nilai yang dimiliki kolom. Selanjutnya, panjangnya dapat ditentukan dengan memanggil JetRetrieveColumns lagi dengan satu struktur JET_RETRIEVECOLUMN dialokasikan untuk setiap nilai untuk menentukan panjang data kolom. Ini dapat dilakukan dengan melewati pointer pvDataNULL dengan cbMax 0 (nol) dan mengambil panjang kolom dalam cbActual. Panggilan ketiga dan terakhir dapat dilakukan dengan memori yang dialokasikan untuk data nilai kolom.
Jika ada kolom yang diambil terpotong karena buffer panjang yang tidak mencukup, API akan mengembalikan JET_wrnBufferTruncated. Namun, kesalahan lain, JET_wrnColumnNull hanya dikembalikan di bidang kesalahan di JET_RETRIEVECOLUMN. Alasannya adalah bahwa aplikasi sering ingin memastikan bahwa semua data telah diambil dan mengembalikan kesalahan ini dari JetRetrieveColumns memfasilitasi pemahaman 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
JET_RETRIEVECOLUMN
JetEnumerateColumns
JetRetrieveColumn
JetSetColumns
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