Struktur JET_TABLECREATE2
Berlaku untuk: Windows | Windows Server
Struktur JET_TABLECREATE2
Struktur JET_TABLECREATE2 berisi informasi yang diperlukan untuk membuat tabel yang diisi dengan kolom dan indeks dalam database ESE, dan yang menunjuk fungsi panggilan balik. Struktur JET_TABLECREATE2 digunakan oleh JetCreateTableColumnIndex2.
Windows XP: Struktur JET_TABLECREATE2 diperkenalkan di Windows XP.
typedef struct tagJET_TABLECREATE2 {
unsigned long cbStruct;
tchar* szTableName;
tchar* szTemplateTableName;
unsigned long ulPages;
unsigned long ulDensity;
JET_COLUMNCREATE* rgcolumncreate;
unsigned long cColumns;
JET_INDEXCREATE* rgindexcreate;
unsigned long cIndexes;
tchar* szCallback;
JET_CBTYP cbtyp;
JET_GRBIT grbit;
JET_TABLEID tableid;
unsigned long cCreated;
} JET_TABLECREATE2;
Anggota
cbStruct
Ukuran struktur ini dalam byte (untuk ekspansi di masa depan). Ini harus diatur ke sizeof( JET_TABLECREATE2 ) dalam byte.
szTableName
Nama tabel yang akan dibuat.
Nama harus menggunakan memenuhi ketentuan berikut:
- Memiliki nilai kurang dari JET_cbNameMost, tidak termasuk NULL yang mengakhiri.
- Terdiri dari sekumpulan karakter berikut: 0 hingga 9, A hingga Z, a hingga z, dan semua tanda baca lainnya kecuali untuk tanda seru (!), koma (,), kurung buka ([), dan kurung siku penutup (]), yaitu, karakter ASCII 0x20, 0x22 melalui 0x2d, 0x2f melalui 0x5a, 0x5c, dan 0x5d melalui 0x7f.
- Tidak dimulai dengan spasi.
- Terdiri dari setidaknya satu karakter non-spasi.
szTemplateTableName
Nama tabel yang sudah ada untuk mewarisi DDL dasar (Bahasa Definisi Data). Menggunakan tabel templat memungkinkan pembuatan banyak tabel yang mudah dengan kolom dan indeks yang identik.
ulPages
Jumlah awal halaman database yang akan dialokasikan untuk tabel. Menentukan angka yang lebih besar dari satu dapat mengurangi fragmentasi jika banyak baris disisipkan ke dalam tabel ini.
ulDensity
Kepadatan tabel, dalam titik persentase. Angka harus 0 atau dalam kisaran 20 hingga 100. Meneruskan 0 berarti bahwa nilai default harus digunakan. Defaultnya adalah 80.
rgcolumncreate
Array struktur JET_COLUMNCREATE , yang masing-masing sesuai dengan kolom yang akan dibuat dalam tabel baru.
cColumns
jumlah elemen JET_COLUMNCREATE dalam rgcolumncreate.
rgindexcreate
Array struktur JET_INDEXCREATE , yang masing-masing sesuai dengan indeks yang akan dibuat dalam tabel baru.
cIndexes
Jumlah elemen JET_INDEXCREATE dalam rgindexcreate.
szCallback
Fungsi yang dipanggil selama peristiwa tertentu. cbtyp menentukan kapan fungsi panggilan balik akan dipanggil.
Format szCallback harus "module!function"—misalnya, "alpha!beta" mengacu pada fungsi beta dalam modul bernama "alpha". Prototipe fungsi harus cocok dengan JET_CALLBACK. Untuk informasi selengkapnya, lihat JET_CALLBACK.
cbtyp
Menjelaskan jenis fungsi panggilan balik yang ditunjuk oleh szCallback. Untuk informasi selengkapnya, lihat JET_CBTYP. Bitfield ini terdiri dari satu atau beberapa bit berikut.
Nilai |
Makna |
---|---|
JET_cbtypFinalize |
Fungsi panggilan balik akan dipanggil ketika kolom yang dapat diselesaikan telah menjadi nol. |
JET_cbtypBeforeInsert |
Fungsi panggilan balik akan dipanggil sebelum penyisipan rekaman. |
JET_cbtypAfterInsert |
Fungsi panggilan balik akan dipanggil setelah mesin database selesai menyisipkan rekaman. |
JET_cbtypBeforeReplace |
Fungsi panggilan balik akan dipanggil sebelum modifikasi rekaman. |
JET_cbtypAfterReplace |
Fungsi panggilan balik akan dipanggil setelah menyelesaikan modifikasi rekaman. |
JET_cbtypBeforeDelete |
Fungsi panggilan balik akan dipanggil sebelum penghapusan rekaman. |
JET_cbtypAfterDelete |
Fungsi panggilan balik akan dipanggil setelah rekaman dihapus. |
JET_cbtypUserDefinedDefaultValue |
Fungsi panggilan balik akan dipanggil untuk menghitung default yang ditentukan pengguna. |
JET_cbtypOnlineDefragCompleted |
Fungsi panggilan balik akan dipanggil setelah panggilan ke JetDefragment2 selesai. |
JET_cbtypFreeCursorLS |
Fungsi panggilan balik akan dipanggil ketika penyimpanan lokal yang terkait dengan kursor harus dibebaskan. |
JET_cbtypFreeTableLS |
Fungsi panggilan balik akan dipanggil ketika penyimpanan lokal yang terkait dengan tabel harus dibebaskan. |
grbit
Sekelompok bit yang berisi opsi untuk panggilan ini, yang menyertakan nol atau lebih dari nilai berikut.
Nilai |
Makna |
---|---|
JET_bitTableCreateFixedDDL |
Pengaturan JET_bitTableCreateFixedDDL mencegah operasi DDL pada tabel (seperti menambahkan atau menghapus kolom). |
JET_bitTableCreateTemplateTable |
Pengaturan JET_bitTableCreateTemplateTable menyebabkan tabel menjadi tabel templat. Tabel baru kemudian dapat menentukan nama tabel ini sebagai tabel templatnya. Pengaturan JET_bitTableCreateTemplateTable menyiratkan JET_bitTableCreateFixedDDL. |
JET_bitTableCreateNoFixedVarColumnsInDerivedTables |
Harus digunakan bersama dengan JET_bitTableCreateTemplateTable. Dihentikan. Jangan gunakan. |
tableid
Bidang output yang menyimpan JET_TABLEID tabel baru jika panggilan API berhasil. Jika panggilan API gagal, nilainya tidak terdefinisi.
cCreated
Bidang output yang berisi jumlah objek yang dibuat jika panggilan API berhasil. Jika panggilan API gagal, nilainya tidak terdefinisi.
Jumlah objek yang dibuat sama dengan jumlah kolom, tabel, dan indeks yang berhasil dibuat.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien |
Memerlukan Windows Vista atau Windows XP. |
Server |
Memerlukan Windows Server 2008 atau Windows Server 2003. |
Header |
Dinyatakan dalam Esent.h. |
Unicode |
Diimplementasikan sebagai JET_TABLECREATE2_W (Unicode) dan JET_TABLECREATE2_A (ANSI). |
Lihat juga
JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2