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