Struktur JET_SETCOLUMN

Berlaku untuk: Windows | Windows Server

Struktur JET_SETCOLUMN

Struktur JET_SETCOLUMN berisi parameter input dan output untuk JetSetColumns. Bidang dalam struktur menjelaskan nilai kolom apa yang akan diatur, cara mengaturnya, dan di mana mendapatkan data kumpulan kolom.

    typedef struct {
      JET_COLUMNID columnid;
      const void* pvData;
      unsigned long cbData;
      JET_GRBIT grbit;
      unsigned long ibLongValue;
      unsigned long itagSequence;
      JET_ERR err;
    } JET_SETCOLUMN;

Anggota

columnid

Pengidentifikasi kolom untuk kolom yang akan diatur.

pvData

Penunjuk ke data untuk diatur ke dalam kolom.

cbData

Ukuran alokasi, dalam byte, mulai dari pvData dalam byte.

grbit

Sekelompok bit yang berisi opsi yang akan digunakan untuk panggilan ini, yang mencakup nol atau beberapa hal berikut ini.

Nilai

Makna

JET_bitSetAppendLV

Menambahkan data ke kolom jenis JET_coltypLongText atau JET_coltypLongBinary. Perilaku yang sama dapat dicapai dengan menentukan ukuran nilai panjang yang ada dan menentukan ibLongValue dalam psetinfo. Namun, lebih mudah untuk menggunakan grbit ini, karena mengetahui ukuran nilai kolom yang ada tidak diperlukan.

JET_bitSetOverwriteLV

Mengganti nilai panjang yang ada dengan data baru. Ketika opsi ini digunakan, seolah-olah nilai panjang yang ada telah diatur ke panjang 0 (nol) sebelum mengatur data baru.

JET_bitSetSizeLV

Menginterpretasikan buffer input sebagai jumlah bilangan bulat byte yang akan ditetapkan sebagai panjang nilai panjang yang dijelaskan oleh columnid yang diberikan dan jika disediakan, angka urutan dalam psetinfo-itagSequence>. Jika ukuran yang diberikan lebih besar dari nilai kolom yang ada, kolom akan diperluas dengan 0 detik. Jika ukurannya lebih kecil dari nilai kolom yang ada, maka nilainya akan dipotong.

JET_bitSetZeroLength

Mengatur nilai ke panjang nol. Biasanya, nilai kolom diatur ke NULL dengan meneruskan cbMax 0. Namun, untuk beberapa jenis, seperti JET_coltypText, nilai kolom bisa panjangnya 0, bukan NULL, dan opsi ini digunakan untuk membedakan antara NULL dan 0 panjang.

JET_bitSetSeparateLV

Memaksa nilai panjang, kolom jenis JET_coltypLongText atau JET_coltypLongBinary, untuk disimpan secara terpisah dari sisa data rekaman. Ini terjadi secara normal ketika ukuran nilai panjang mencegahnya disimpan dengan data rekaman yang tersisa. Namun, opsi ini dapat digunakan untuk memaksa nilai panjang disimpan secara terpisah. Perhatikan bahwa nilai panjang berukuran empat byte atau lebih kecil tidak dapat dipaksa untuk dipisahkan. Dalam kasus seperti itu, opsi diabaikan.

JET_bitSetUniqueMultiValues

Memberlakukan nilai yang berbeda dalam kolom multinilai. Opsi ini membandingkan data kolom sumber, tanpa transformasi apa pun, dengan nilai kolom lain yang sudah ada dan kesalahan dikembalikan jika duplikat ditemukan. Jika opsi ini diberikan, maka JET_bitSetAppendLv, JET_bitSetOverwriteLV, dan JET_bitSetSizeLV juga tidak dapat diberikan.

JET_bitSetUniqueNormalizedMultiValues

Memberlakukan nilai yang berbeda dalam kolom multinilai. Opsi ini membandingkan transformasi data kolom yang dinormalisasi kunci dengan nilai kolom lain yang sama diubah dan kesalahan dikembalikan jika duplikat ditemukan. Jika opsi ini diberikan, maka JET_bitSetAppendLv, JET_bitSetOverwriteLV, dan JET_bitSetSizeLV juga tidak dapat diberikan.

JET_bitSetRevertToDefaultValue

Menyebabkan kolom mengembalikan nilai kolom default pada operasi ambil kolom berikutnya. Semua nilai kolom yang ada dihapus. Opsi ini hanya berlaku untuk kolom bertag, jarang, atau multinilai.

JET_bitSetIntrinsicLV

Menyimpan nilai panjang, kolom jenis JET_coltypLongText atau JET_coltypeLongBinary, disimpan dengan data rekaman yang tersisa jika memungkinkan. Biasanya, kolom panjang disimpan secara terpisah ketika panjangnya melebihi 1024 byte atau sebaliknya akan menyebabkan panjang rekaman melebihi batasan ukuran terkait ukuran halamannya. Namun, jika opsi ini diatur, operasi kolom yang ditetapkan akan gagal dengan kesalahan JET_errColumnTooBig daripada menyimpan nilai kolom ini terpisah dari data rekaman yang tersisa.

ibLongValue

Offset ke byte pertama yang akan diambil dari kolom jenis JET_coltypLongBinary, atau JET_coltypLongText.

itagSequence

Menjelaskan jumlah urutan nilai dalam kolom multinilai. ItagSequence 0 menunjukkan bahwa kumpulan nilai kolom harus ditambahkan sebagai instans baru kolom multinilai.

Err

Kode kesalahan dan peringatan yang dikembalikan dari operasi kolom yang ditetapkan.

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.

Lihat juga

JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JetSetColumns