Fungsi JetAddColumn
Berlaku untuk: Windows | Windows Server
Fungsi JetAddColumn
Fungsi JetAddColumn menambahkan kolom baru ke tabel yang sudah ada dalam database ESE.
JET_ERR JET_API JetAddColumn(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_PCSTR szColumnName,
__in const JET_COLUMNDEF* pcolumndef,
__in_opt const void* pvDefault,
__in unsigned long cbDefault,
__out_opt JET_COLUMNID* pcolumnid
);
Parameter
sesid
Konteks sesi database yang akan digunakan untuk panggilan API.
tableid
Tabel yang akan ditambahkan kolom.
szColumnName
Nama kolom yang akan ditambahkan. 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 tanda seru (!), koma (,), tanda kurung buka ([), dan tanda kurung tutup (]) — yaitu, karakter ASCII 0x20, 0x22 melalui 0x2d, 0x2f melalui 0x5a, 0x5c, dan 0x5d melalui 0x7f.
Ini tidak dapat dimulai dengan spasi.
Ini harus berisi setidaknya satu karakter non-spasi.
pcolumndef
Penunjuk ke struktur JET_COLUMNDEF , yang menentukan data yang dapat disimpan dalam kolom.
pvDefault
Penunjuk ke buffer yang berisi nilai default untuk kolom. Panjang buffer adalah cbDefault. Jika tidak ada default, atur pvDefault ke NULL dan cbDefault ke nol. Nilai default tidak boleh lebih besar dari JET_cbColumnMost byte untuk kolom tetap atau JET_cbLVDefaultValueMost byte untuk nilai panjang. Jika nilai default lebih besar dari itu, nilai tersebut akan dipotong secara diam-diam.
Jika grbit memiliki set JET_bitColumnUserDefinedDefault, pvDefault akan ditafsirkan sebagai penunjuk ke struktur JET_USERDEFINEDDEFAULT .
cbDefault
Ukuran, dalam byte, dari buffer yang ditentukan dalam pvDefault.
pcolumnid
Penunjuk ke struktur JET_COLUMNID , yang, berhasil, akan menerima pengidentifikasi kolom yang baru dibuat. Jika gagal, nilainya tidak ditentukan.
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_errSuccess |
Operasi berhasil. |
JET_errFixedDDL |
Upaya dilakukan untuk mengubah definisi data tabel DDL tetap. Contoh tabel dengan DDL tetap adalah Tabel Templat. |
JET_errInvalidParameter |
Parameter yang tidak valid diteruskan ke API. Beberapa contoh parameter yang tidak valid adalah:
|
JET_errInTransaction |
Upaya dilakukan untuk menambahkan kolom dengan set bit JET_bitColumnUnversioned, tetapi sesi saat ini sedang dalam transaksi. |
JET_errColumnDuplicate |
Kolom sudah ada. Upaya dilakukan untuk menambahkan kolom tanpa informasi versi, dan kolom tersebut sudah ada. |
JET_errTableNotEmpty |
Tabel berisi data. Kolom Pembaruan Escrow hanya dapat ditambahkan ke tabel kosong. |
JET_errRecordTooBig |
Catatannya terlalu besar. Jumlah parameter cbMax untuk kolom tetap tidak boleh melebihi nilai tertentu. |
JET_errTooManyColumns |
Upaya dilakukan untuk menambahkan terlalu banyak kolom ke tabel. Tabel tidak boleh memiliki lebih dari JET_ccolFixedMost kolom tetap, tidak lebih dari JET_ccolVarMost kolom panjang variabel, dan tidak lebih dari kolom yang diberi tag JET_ccolTaggedMost. |
JET_errColumnRedundant |
Upaya dilakukan untuk menambahkan kolom redundan. Tidak boleh ada lebih dari satu kolom autoincrement, dan tidak lebih dari satu kolom versi per tabel. |
JET_errCallbackNotResolved |
Fungsi panggilan balik tidak dapat diselesaikan. DLL mungkin belum ditemukan, atau fungsi di DLL mungkin belum ditemukan. Log peristiwa akan memberikan detail lebih lanjut jika pengelogan yang memadai diaktifkan. |
JET_wrnColumnMaxTruncated |
Peringatan yang menunjukkan bahwa panjang maksimum (cbMax) kolom tetap atau variabel lebih besar dari JET_cbColumnMost. Batas ini tidak berlaku untuk Nilai Panjang (yaitu JET_coltypLongBinary dan JET_coltypLongText). |
JET_errInvalidName |
Nama yang tidak valid diteruskan sebagai szColumnName. Untuk informasi selengkapnya tentang pembatasan, lihat kriteria untuk szColumnName. |
JET_errInvalidColumnType |
Bidang coltyp tidak diatur ke tipe kolom yang valid. |
JET_errInvalidCodePage |
Parameter cp struktur JET_COLUMNDEF tidak diatur ke halaman kode yang valid. Satu-satunya nilai yang valid untuk kolom teks adalah Bahasa Inggris (1252) dan Unicode (1200). Nilai 0 berarti default akan digunakan (Inggris, 1252). |
JET_errTaggedNotNULL |
JET_bitColumnNotNULL tidak dapat digunakan dengan kolom bertag, Nilai Panjang, atau SLV. |
JET_errInvalidgrbit |
Kombinasi grbit yang tidak valid ditentukan. Beberapa alasan kesalahan ini adalah:
|
JET_errMultiValuedColumnMustBeTagged |
Kolom multinilai (JET_bitColumnMultiValued) hanya dapat digunakan pada kolom bertag atau Nilai Panjang (JET_coltypLongBinary atau JET_coltypLongText). |
JET_errCannotBeTagged |
Upaya dilakukan untuk menggunakan kolom bertag ketika kolom mungkin tidak ditandai. Beberapa batasan untuk melarang kolom yang diberi tag adalah:
|
JET_errExclusiveTableLockRequired |
Kunci eksklusif pada tabel diperlukan untuk operasi ini. |
JET_wrnColumnMaxTruncated |
Peringatan yang menunjukkan bahwa panjang maksimum (cbMax) kolom tetap atau variabel lebih besar dari JET_cbColumnMost. Batas ini tidak berlaku untuk Nilai Panjang (yaitu JET_coltypLongBinary dan JET_coltypLongText). |
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. |
Unicode |
Diimplementasikan sebagai JetAddColumnW (Unicode) dan JetAddColumnA (ANSI). |
Lihat juga
JET_COLTYP
JET_COLUMNCREATE
JET_COLUMNDEF
JET_COLUMNID
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
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