Struktur JET_COLUMNDEF

Berlaku untuk: Windows | Windows Server

Struktur JET_COLUMNDEF

Struktur JET_COLUMNDEF menentukan data yang dapat disimpan dalam kolom.

    typedef struct {
      unsigned long cbStruct;
      JET_COLUMNID columnid;
      JET_COLTYP coltyp;
      unsigned short wCountry;
      unsigned short langid;
      unsigned short cp;
      unsigned short wCollate;
      unsigned long cbMax;
      JET_GRBIT grbit;
    } JET_COLUMNDEF;

Anggota

cbStruct

Ukuran struktur, dalam byte. Ini harus diatur ke sizeof( JET_COLUMNDEF).

columnid

Dicadangkan. columnid harus diatur ke 0 (nol).

coltyp

Jenis kolom (misalnya, teks, biner, atau numerik). Untuk informasi selengkapnya, lihat JET_COLTYP.

wCountry

Dicadangkan. wCountry harus diatur ke 0 (nol).

bahasa langid

Kedaluwarsa. langid harus diatur ke 0 (nol).

Cp

Halaman kode untuk kolom. Satu-satunya nilai yang valid untuk kolom teks adalah Bahasa Inggris (1252) dan Unicode (1200). Nilai nol berarti default akan digunakan (Inggris, 1252). Jika kolom bukan kolom teks, halaman kode secara otomatis diatur ke nol.

wCollate

Dicadangkan. wCollate harus diatur ke 0 (nol).

cbMax

Panjang maksimum, dalam byte, dari kolom panjang variabel, atau panjang kolom panjang tetap.

grbit

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

Nilai

Makna

JET_bitColumnFixed

Kolom akan diperbaiki. Ini akan selalu menggunakan jumlah ruang yang sama dalam satu baris, terlepas dari berapa banyak data yang disimpan dalam kolom. JET_bitColumnFixed tidak dapat digunakan dengan JET_bitColumnTagged. Bit ini tidak dapat digunakan dengan nilai panjang (yaitu JET_coltypLongText dan JET_coltypLongBinary).

JET_bitColumnTagged

Kolom akan ditandai. Kolom yang diberi tag tidak mengambil ruang apa pun dalam database jika tidak berisi data. Bit ini tidak dapat digunakan dengan JET_bitColumnFixed.

JET_bitColumnNotNULL

Kolom tidak boleh diatur ke nilai NULL.

JET_bitColumnVersion

Kolom adalah kolom versi yang menentukan versi baris. Nilai kolom ini dimulai pada nol dan akan secara otomatis bertahap untuk setiap pembaruan pada baris.

Bit ini hanya dapat diterapkan ke kolom JET_coltypLong . Bit ini tidak dapat digunakan dengan JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate, atau JET_bitColumnTagged.

JET_bitColumnAutoincrement

Kolom akan secara otomatis dinaikkan. Angka tersebut adalah angka yang meningkat, dan dijamin unik dalam tabel. Namun, angka-angkanya mungkin tidak berkelanjutan. Misalnya, jika lima baris disisipkan ke dalam tabel, kolom "autoincrement" dapat berisi nilai { 1, 2, 6, 7, 8 }. Bit ini hanya dapat digunakan pada kolom jenis JET_coltypLong atau JET_coltypCurrency.

Windows 2000: Di Windows 2000, bit ini hanya dapat digunakan pada kolom jenis JET_coltypLong.

JET_bitColumnUpdatable

Bit ini hanya berlaku pada panggilan ke JetGetColumnInfo.

JET_bitColumnTTKey

Bit ini hanya berlaku pada panggilan ke JetOpenTable.

JET_bitColumnTTDescending

Bit ini hanya valid pada panggilan ke JetOpenTempTable.

JET_bitColumnMultiValued

Kolom dapat bernilai banyak. Kolom multinilai dapat memiliki nilai nol, satu, atau lebih yang terkait dengannya. Berbagai nilai dalam kolom multinilai diidentifikasi oleh angka yang disebut anggota itagSequence , yang termasuk dalam berbagai struktur, termasuk: JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN, dan JET_ENUMCOLUMNVALUE. Kolom multinilai harus diberi tag kolom; artinya, kolom tersebut tidak dapat berupa kolom panjang tetap atau panjang variabel.

JET_bitColumnEscrowUpdate

Menentukan bahwa kolom adalah kolom pembaruan escrow. Kolom pembaruan escrow dapat diperbarui secara bersamaan oleh sesi yang berbeda dengan JetEscrowUpdate dan akan mempertahankan konsistensi transaksional. Kolom pembaruan escrow juga harus memenuhi kondisi berikut:

  • Kolom pembaruan escrow hanya dapat dibuat saat tabel kosong.

  • Kolom pembaruan escrow harus berjenis JET_coltypLong.

  • Kolom pembaruan escrow harus memiliki nilai default (yaitu cbDefault harus positif).

  • JET_bitColumnEscrowUpdate tidak dapat digunakan bersama dengan JET_bitColumnTagged, JET_bitColumnVersion, atau JET_bitColumnAutoincrement.

JET_bitColumnUnversioned

Kolom akan dibuat dalam informasi tanpa versi. Ini berarti bahwa transaksi lain yang mencoba menambahkan kolom dengan nama yang sama akan gagal. Bit ini hanya berguna dengan JetAddColumn. Ini tidak dapat digunakan dalam transaksi.

JET_bitColumnMaybeNull

Disiapkan untuk penggunaan masa mendatang.

JET_bitColumnFinalize

Gunakan JET_bitColumnDeleteOnZero alih-alih JET_bitColumnFinalize. JET_bitColumnFinalize bahwa kolom dapat diselesaikan. Saat kolom yang dapat diselesaikan memiliki kolom pembaruan escrow yang mencapai nol, baris akan dihapus. Versi mendatang mungkin memanggil fungsi panggilan balik sebagai gantinya (Untuk informasi selengkapnya, lihat JET_CALLBACK). Kolom yang dapat diselesaikan harus berupa kolom pembaruan escrow. JET_bitColumnFinalize tidak dapat digunakan dengan JET_bitColumnUserDefinedDefault.

JET_bitColumnUserDefinedDefault

Nilai default untuk kolom akan disediakan oleh fungsi panggilan balik. Lihat JET_CALLBACK. Kolom yang memiliki default yang ditentukan pengguna harus berupa kolom yang diberi tag. Menentukan JET_bitColumnUserDefinedDefault berarti bahwa pvDefault harus menunjuk ke struktur JET_USERDEFINEDDEFAULT , dan cbDefault harus diatur ke sizeof( JET_USERDEFINEDDEFAULT ).

  • JET_bitColumnUserDefinedDefault tidak dapat digunakan bersama dengan JET_bitColumnFixed, JET_bitColumnNotNULL, JET_bitColumnVersion, JET_bitColumnAutoincrement, JET_bitColumnUpdatable, JET_bitColumnEscrowUpdate, JET_bitColumnFinalize, JET_bitColumnDeleteOnZero, atau JET_bitColumnMaybeNull.

JET_bitColumnDeleteOnZero

Kolom adalah kolom pembaruan escrow, dan ketika mencapai nol, rekaman akan dihapus. Penggunaan umum untuk kolom yang dapat diselesaikan adalah menggunakannya sebagai bidang jumlah referensi, dan ketika bidang mencapai nol rekaman akan dihapus. JET_bitColumnDeleteOnZero terkait dengan JET_bitColumnFinalize. Kolom Delete-on-zero harus berupa kolom pembaruan escrow. JET_bitColumnDeleteOnZero tidak dapat digunakan dengan JET_bitColumnFinalize. JET_bitColumnDeleteOnZero tidak dapat digunakan dengan kolom default yang ditentukan pengguna.

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_CALLBACK
JET_COLTYP
JET_COLUMNCREATE
JET_COLUMNID
JET_GRBIT
JET_USERDEFINEDDEFAULT
JetAddColumn
JetEscrowUpdate
JetGetTableColumnInfo
JetOpenTempTable
JetOpenTempTable2
JetOpenTempTable3
JetRenameColumn