Fungsi JetSetColumns

Berlaku untuk: Windows | Windows Server

Fungsi JetSetColumns

Fungsi JetSetColumns mirip dalam perilaku dengan JetSetColumn tetapi memungkinkan aplikasi untuk mengatur beberapa nilai kolom dalam satu operasi. Array struktur JET_SETCOLUMN digunakan untuk menjelaskan kumpulan nilai kolom yang akan diatur, dan untuk menjelaskan buffer input untuk setiap nilai kolom yang akan diatur.

    JET_ERR JET_API JetSetColumns(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in_out_opt  JET_SETCOLUMN* psetcolumn,
      __in          unsigned long csetcolumn
    );

Parameter

sesid

Sesi yang digunakan untuk panggilan ini.

tableid

Kursor yang digunakan untuk panggilan ini.

psetcolumn

Penunjuk ke array dari satu atau beberapa struktur JET_SETCOLUMN . Setiap struktur menyertakan deskripsi nilai kolom mana yang akan diatur dan dari mana mendapatkan data kolom untuk diatur.

csetcolumn

Jumlah struktur JET_SETCOLUMN dalam array yang diberikan oleh psetcolumn.

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_errBadColumnId

ID kolom yang diberikan berada di luar batas hukum ID kolom.

JET_errClientRequestToStopJetService

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

JET_errColumnIllegalNull

Sama seperti JET_errNullInvalid.

JET_errColumnNotFound

Kolom yang dijelaskan oleh columnid yang diberikan tidak ada dalam tabel.

JET_errColumnNotUpdatable

Upaya ilegal dilakukan untuk memperbarui nilai panjang selama operasi sisipkan penghapusan salinan pembaruan asli.

JET_errColumnTooBig

Data nilai kolom yang diberikan dalam buffer input melebihi batasan ukuran baik alami untuk kolom panjang tetap atau dikonfigurasi untuk teks panjang tetap atau kolom biner. Kesalahan ini juga dikembalikan saat meneruskan lebih dari 1024 byte data untuk kolom panjang dan mengatur bendera JET_bitSetIntrinsicLV.

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_errInvalidBufferSize

Ukuran data nilai kolom yang diberikan tidak cocok dengan apa yang alami untuk jenis data panjang tetap.

JET_errInvalidColumnType

Upaya ilegal dilakukan untuk memperbarui kolom kenaikan otomatis baik selama operasi sisipkan atau perbarui, atau untuk memperbarui kolom versi selama operasi penggantian.

JET_errInvalidgrbit

Opsi yang disediakan tidak diketahui atau kombinasi ilegal dari pengaturan bit yang diketahui.

JET_errInvalidParameter

psetinfo-cbStruct> yang diberikan bukan ukuran yang valid untuk struktur JET_SETINFO .

JET_errMultiValuedDuplicate

Operasi set kolom mencoba membuat nilai duplikat dan menentukan JET_bitSetUniqueMultiValues atau JET_bitSetUniqueNormalizedMultiValues.

JET_errNotInitialized

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

JET_errNotInTransaction

Upaya ilegal dilakukan untuk memperbarui nilai kolom panjang ketika sesi panggilan tidak dalam transaksi.

JET_errNullInvalid

Upaya ilegal dilakukan untuk mengatur kolom non-NULL ke NULL.

JET_errRecordTooBig

Nilai kolom tidak dapat diatur ke nilai dalam buffer input karena akan menyebabkan rekaman melebihi batasan ukuran terkait ukuran halamannya. Kolom jenis JET_coltypLongText atau JET_coltypLongBinary dapat disimpan secara terpisah dari data rekaman yang tersisa. Namun, kolom lain harus disimpan dengan rekaman dan dapat menyebabkan batasan ukuran rekaman terlampaui. Bahkan kolom panjang membutuhkan ruang 5 byte dalam rekaman sebagai tautan dan ini juga dapat menyebabkan JET_errRecordTooBig dikembalikan.

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_errUpdateNotPrepared

Kursor saat ini tidak sedang dalam proses menyisipkan rekaman baru atau memperbarui rekaman yang sudah ada.

JET_wrnColumnMaxTruncated

Nilai kolom dalam buffer input melebihi panjang maksimum yang dikonfigurasi untuk kolom panjang variabel dan terpotok.

Jika berhasil, untuk setiap kolom yang dijelaskan dalam psetcolumns, bagian yang diinginkan dari nilai kolom diatur dengan data yang disalin dari buffer input. Himpunan data kolom mungkin telah dipotok jika melebihi panjang maksimum yang ditentukan untuk kolom panjang variabel.

Jika gagal, lokasi kursor dibiarkan tidak berubah dan tidak ada data nilai kolom yang diperbarui dalam penyangga salinan.

Keterangan

Jika ada operasi kolom set individu yang mengembalikan kesalahan, maka seluruh operasi JetSetColumns akan mengembalikan kesalahan. Peringatan, secara umum, dikembalikan dalam psetcolumns-error> dan bukan dalam kode pengembalian dari fungsi ini. Namun, jika kumpulan kolom terakhir memiliki peringatan, maka peringatan ini akan dikembalikan dari JetSetColumns itu sendiri.

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_COLTYP
JET_ERR
JET_SESID
JET_TABLEID
JET_SETCOLUMN
JetRetrieveColumns
JetSetColumn