Bagikan melalui


Struktur JET_COLUMNBASE

Berlaku untuk: Windows | Windows Server

Struktur JET_COLUMNBASE

Struktur JET_COLUMNBASE menjelaskan parameter kolom dasar. Fungsi JetGetColumnInfo dan JetGetTableColumnInfo menggunakan struktur JET_COLUMNBASE .

    typedef struct {
      unsigned long cbStruct;
      JET_COLUMNID columnid;
      JET_COLTYP coltyp;
      unsigned short wCountry;
      unsigned short langid;
      unsigned short cp;
      unsigned short wFiller;
      unsigned long cbMax;
      JET_GRBIT grbit;
      tchar szBaseTableName[256];
      tchar szBaseColumnName[256];
    } JET_COLUMNBASE;

Anggota

cbStruct

Ukuran struktur ini, dalam byte. Atur cbStruct ke sizeof( JET_COLUMNBASE ).

columnid

Dicadangkan. Atur columnid ke 0 (nol).

coltyp

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

wCountry

Dicadangkan. Atur ke 0 (nol).

bahasa langid

Dicadangkan. Atur 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.

wFiller

Dicadangkan. Atur ke 0 (nol).

cbMax

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

grbit

Opsi untuk kolom, termasuk nol atau beberapa nilai berikut.

Nilai

Makna

JET_bitColumnFixed

Kolom diperbaiki dan menempati jumlah ruang yang sama dalam baris terlepas dari berapa banyak data yang dikandungnya. JET_bitColumnFixed tidak dapat digabungkan dengan JET_bitColumnTagged, dan tidak dapat digunakan ketika anggota coltyp diatur ke JET_coltypLongText atau JET_coltypLongBinary.

JET_bitColumnTagged

Kolom ditandai dan menempati ruang dalam database hanya jika berisi data. JET_bitColumnTagged tidak dapat digabungkan dengan JET_bitColumnFixed, JET_bitColumnVersion, atau JET_bitColumnEscrowUpdate.

JET_bitColumnNotNULL

Kolom tidak boleh diatur ke nilai NULL .

JET_bitColumnNotNULL tidak dapat digabungkan dengan JET_bitColumnUserDefinedDefault.

JET_bitColumnVersion

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

JET_bitColumnVersion hanya dapat digunakan ketika anggota coltyp diatur ke JET_coltypLong dan tidak dapat dikombinasikan dengan JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate, JET_bitColumnTagged, atau JET_bitColumnUserDefinedDefault.

JET_bitColumnAutoincrement

Kolom secara otomatis dinaikkan. Angka tersebut adalah angka yang meningkat, dan dijamin unik dalam tabel. Namun, angka-angkanya mungkin tidak berurutan. Misalnya, jika lima baris disisipkan ke dalam tabel, kolom yang ditautkan secara otomatis dapat berisi nilai { 1, 2, 6, 7, 8 }.

JET_bitColumnAutoincrement hanya dapat digunakan ketika anggota coltyp diatur ke JET_coltypLong atau JET_coltypCurrency dan tidak dapat dikombinasikan dengan JET_bitColumnEscrowUpdate, JET_bitColumnUserDefinedDefault, atau JET_bitColumnVersion.

Windows 2000: JET_bitColumnVersion hanya dapat digunakan ketika anggota coltyp diatur ke JET_coltypLong.

JET_bitColumnUpdatable

Hanya berlaku untuk panggilan ke JetGetColumnInfo. JET_bitColumnUpdatable tidak dapat digabungkan dengan JET_bitColumnUserDefinedDefault.

JET_bitColumnTTKey

Hanya berlaku pada panggilan ke JetOpenTable.

JET_bitColumnTTDescending

Hanya berlaku 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 dengan angka di anggota itagSequence dari berbagai struktur, misalnya, JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN, JET_ENUMCOLUMNVALUE. Kolom multinilai harus diberi tag kolom; artinya, kolom tersebut mungkin tidak panjang tetap atau kolom dengan panjang variabel.

JET_bitColumnEscrowUpdate

Menentukan bahwa kolom adalah kolom pembaruan escrow yang dapat diperbarui secara bersamaan oleh sesi yang berbeda dengan JetEscrowUpdate dan akan memiliki konsistensi transaksional.

  • Kolom pembaruan escrow hanya dapat dibuat saat tabel kosong.

  • Untuk kolom pembaruan escrow, anggota coltyp harus diatur ke JET_coltypLong.

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

  • JET_bitColumnEscrowUpdate tidak dapat digabungkan dengan JET_bitColumnTagged, JET_bitColumnVersion, atau JET_bitColumnAutoincrement.

JET_bitColumnUnversioned

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

JET_bitColumnMaybeNull

Disiapkan untuk penggunaan masa mendatang.

JET_bitColumnMaybeNull tidak dapat digabungkan dengan JET_bitColumnUserDefinedDefault.

JET_bitColumnFinalize

Jangan gunakan. Gunakan JET_bitColumnDeleteOnZero sebagai gantinya.

Kolom dapat diselesaikan. Kolom yang dapat diselesaikan adalah kolom pembaruan escrow yang menyebabkan baris dihapus saat kolom mencapai nol. Versi mendatang dapat memanggil fungsi panggilan balik sebagai gantinya (Lihat JET_CALLBACK). Kolom yang dapat diselesaikan harus berupa kolom pembaruan escrow. JET_bitColumnFinalize tidak dapat digabungkan 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. Jika JET_bitColumnUserDefinedDefault ditentukan, pvDefault harus menunjuk ke struktur JET_USERDEFINEDDEFAULT , dan cbDefault harus diatur ke sizeof( JET_USERDEFINEDDEFAULT ).

JET_bitColumnUserDefinedDefault tidak dapat digabungkan 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 delete-on-zero adalah sebagai bidang jumlah referensi. Saat jumlah referensi jatuh ke nol, rekaman akan dihapus. Kolom delete-on-zero harus berupa kolom pembaruan escrow.

JET_bitColumnDeleteOnZero menggantikan JET_bitColumnFinalize.

JET_bitColumnDeleteOnZero tidak dapat digabungkan dengan JET_bitColumnFinalize atau JET_bitColumnUserDefinedDefault, dan tidak dapat digunakan dengan kolom default yang ditentukan pengguna.

szBaseTableName

Tabel tempat tabel saat ini mewarisi DDL-nya.

szBaseColumnName

Nama kolom dalam tabel templat.

Keterangan

JET_COLUMNBASE berisi banyak informasi yang sama dengan JET_COLUMNDEF, tetapi menambahkan bidang string untuk menjelaskan tabel dasar (jika DDL hierarkis digunakan).

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.

Unicode

Diimplementasikan sebagai JET_COLUMNBASE_W (Unicode) dan JET_COLUMNBASE_A (ANSI).

Lihat juga

JET_CALLBACK
JET_COLTYP
JET_COLUMNDEF
JET_COLUMNID
JET_GRBIT
JET_SESID
JET_TABLEID
JET_USERDEFINEDDEFAULT
JetGetColumnInfo
JetGetTableColumnInfo
JetRenameColumn