Struktur JET_COLUMNCREATE
Berlaku untuk: Windows | Windows Server
Struktur JET_COLUMNCREATE
Struktur JET_COLUMNCREATE menjelaskan kolom yang akan dibuat dalam database.
typedef struct tag_JET_COLUMNCREATE {
unsigned long cbStruct;
tchar* szColumnName;
JET_COLTYP coltyp;
unsigned long cbMax;
JET_GRBIT grbit;
void* pvDefault;
unsigned long cbDefault;
unsigned long cp;
JET_COLUMNID columnid;
JET_ERR err;
} JET_COLUMNCREATE;
Anggota
cbStruct
Ukuran struktur, dalam byte. Bidang ini harus diinisialisasi ke sizeof( JET_COLUMNCREATE ).
szColumnName
Nama kolom yang akan dibuat. Nama harus memenuhi kriteria berikut:
- Panjangnya harus kurang dari JET_cbNameMost karakter, tidak termasuk NULL yang mengakhiri.
- Ini harus berisi karakter hanya dari set berikut: 0 hingga 9, Tanda baca melalui Z, a hingga z, dan semua tanda baca lainnya kecuali untuk tanda seru (!), koma (,), tanda kurung buka ([), dan tanda kurung tutup (]), yaitu, karakter ASCII 0x20, 0x22 melalui 0x2d, 0x2f melalui 0x5a, 0x5c, 0x5d melalui 0x7f.
- Ini tidak dapat dimulai dengan spasi.
- Ini harus berisi setidaknya satu karakter non-spasi.
coltyp
Jenis kolom (misalnya, teks, biner, atau numerik). Untuk informasi selengkapnya, lihat JET_COLTYP.
cbMax
Panjang maksimum, dalam byte, dari kolom panjang variabel. Panjang kolom untuk kolom dengan panjang tetap.
grbit
Sekelompok bit yang berisi opsi untuk struktur ini, dan yang mencakup nol atau beberapa nilai berikut.
Nilai |
Makna |
---|---|
JET_bitColumnFixed |
Kolom 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 seperti JET_coltypLongText dan JET_coltypLongBinary. |
JET_bitColumnTagged |
Kolom 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_bitColumnAutoincrement |
Kolom secara otomatis dinaikkan. Angka tersebut adalah angka yang meningkat, dan dijamin unik dalam tabel. Namun, jumlahnya mungkin tidak berkelanjutan. Misalnya, jika lima baris disisipkan ke dalam tabel, kolom autoincrement dapat berisi nilai { 1, 2, 6, 7, 8 }. Windows 2000: Bit ini hanya dapat digunakan pada kolom jenis JET_coltypLong. Windows Server 2003 dan yang lebih baru: Bit ini hanya dapat digunakan pada kolom jenis JET_coltypLong atau JET_coltypCurrency. |
JET_bitColumnUpdatable |
Bit ini hanya berlaku pada panggilan ke JetGetColumnInfo. |
JET_bitColumnTTKey |
Bit ini hanya valid pada panggilan ke JetOpenTempTable. |
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 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 tidak dapat berupa kolom panjang tetap atau panjang variabel. |
JET_bitColumnEscrowUpdate |
Kolom adalah kolom pembaruan escrow. Kolom pembaruan escrow dapat diperbarui secara bersamaan oleh sesi yang berbeda dengan JetEscrowUpdate dan mempertahankan konsistensi transaksional.
|
JET_bitColumnUnversioned |
Kolom dibuat tanpa versi. 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 menentukan bahwa kolom dapat diselesaikan. Saat kolom yang dapat diselesaikan memiliki kolom pembaruan escrow yang mencapai nol, baris akan dihapus. Versi mendatang dapat 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 disediakan oleh fungsi panggilan balik, JET_CALLBACK. Kolom yang memiliki default yang ditentukan pengguna harus berupa kolom yang diberi tag. pvDefault harus menunjuk ke struktur JET_USERDEFINEDDEFAULT , dan cbDefault harus diatur ke sizeof(JET_USERDEFINEDDEFAULT). JET_bitColumnUserDefinedDefault tidak dapat digunakan bersama dengan konstanta berikut:
|
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. |
pvDefault
Menunjuk ke buffer yang akan menjadi nilai default untuk kolom. Panjang buffer adalah cbDefault. Jika tidak ada default, pvDefault harus diatur ke NULL dan cbDefault harus diatur ke nol. Jika grbit memiliki set JET_bitColumnUserDefinedDefault, pvDefault akan ditafsirkan sebagai penunjuk ke struktur JET_USERDEFINEDDEFAULT. Nilai default tidak boleh lebih besar dari 255 byte. Jika nilai default lebih besar dari 255 byte, nilai tersebut akan didiamkan.
cbDefault
Ukuran, dalam byte, dari buffer yang ditentukan oleh pvDefault.
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.
columnid
Jika berhasil, pengidentifikasi kolom kolom yang baru dibuat akan diteruskan kembali di bidang ini. Jika gagal, nilainya tidak ditentukan.
Err
Bidang err akan berisi status pembuatan kolom ini. Lihat JetAddColumn untuk daftar nilai yang kemungkinan dikembalikan.
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_COLUMNCREATE_W (Unicode) dan JET_COLUMNCREATE_A (ANSI). |
Lihat juga
JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JET_RETINFO
JET_SETINFO
JET_SETCOLUMN
JET_RETRIEVECOLUMN
JET_ENUMCOLUMNVALUE
JetAddColumn
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetEscrowUpdate
JetRenameColumn
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