JET_TABLECREATE2-Struktur

Gilt für: Windows | Windows Server

JET_TABLECREATE2-Struktur

Die JET_TABLECREATE2-Struktur enthält die Informationen, die zum Erstellen einer Tabelle mit Spalten und Indizes in einer ESE-Datenbank erforderlich sind, und die eine Rückruffunktion angibt. Die JET_TABLECREATE2-Struktur wird von JetCreateTableColumnIndex2 verwendet.

Windows XP: Die JET_TABLECREATE2-Struktur wird in Windows XP eingeführt.

    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;

Member

cbStruct

Die Größe dieser Struktur in Bytes (für zukünftige Erweiterungen). Es muss auf sizeof( JET_TABLECREATE2 ) in Bytes festgelegt werden.

szTableName

Der Name der zu erstellenden Tabelle.

Der Name muss die folgenden Bedingungen erfüllen:

  • Weisen Sie einen Wert kleiner als JET_cbNameMost auf, ohne dass der beendende NULL-Wert enthalten ist.
  • Bestehen aus den folgenden Zeichen: 0 bis 9, A bis Z, a bis z und alle anderen Satzzeichen mit Ausnahme von Ausrufezeichen (!), Komma (,), öffnender Klammer ([) und schließender Klammer (]), d. h. ASCII-Zeichen 0x20, 0x22 bis 0x2d, 0x2f über 0x5a, 0x5c und 0x5d über 0x7f.
  • Beginnen Sie nicht mit einem Leerzeichen.
  • Bestehen Sie aus mindestens einem Nicht-Leerzeichen.

szTemplateTableName

Der Name einer bereits vorhandenen Tabelle, von der die Basis-DDL (Data Definition Language) geerbt werden soll. Die Verwendung einer Vorlagentabelle ermöglicht das einfache Erstellen vieler Tabellen mit identischen Spalten und Indizes.

ulPages

Die anfängliche Anzahl von Datenbankseiten, die für die Tabelle zugeordnet werden sollen. Die Angabe einer Zahl, die größer als eins ist, kann die Fragmentierung verringern, wenn viele Zeilen in diese Tabelle eingefügt werden.

ulDensity

Die Tabellendichte in Prozentpunkten. Die Zahl muss entweder 0 oder im Bereich von 20 bis 100 sein. Das Übergeben von 0 bedeutet, dass der Standardwert verwendet werden sollte. Der Standardwert beträgt 80.

rgcolumncreate

Ein Array von JET_COLUMNCREATE Strukturen, die jeweils einer Spalte entsprechen, die in der neuen Tabelle erstellt werden soll.

cColumns

die Anzahl der JET_COLUMNCREATE Elemente in rgcolumncreate.

rgindexcreate

Ein Array von JET_INDEXCREATE Strukturen, die jeweils einem Index entsprechen, der in der neuen Tabelle erstellt werden soll.

cIndexes

Die Anzahl JET_INDEXCREATE Elemente in rgindexcreate.

szCallback

Die Funktion, die während bestimmter Ereignisse aufgerufen wird. cbtyp bestimmt, wann die Rückruffunktion aufgerufen wird.

Das Format von szCallback muss "module!function" lauten– beispielsweise bezieht sich "alpha!beta" auf die Betafunktion im Modul mit dem Namen "alpha". Der Prototyp der Funktion muss mit JET_CALLBACK übereinstimmen. Weitere Informationen finden Sie unter JET_CALLBACK.

cbtyp

Beschreibt den Typ der Rückruffunktion, die von szCallback festgelegt wurde. Weitere Informationen finden Sie unter JET_CBTYP. Dieses Bitfeld besteht aus mindestens einem der folgenden Bits.

Wert

Bedeutung

JET_cbtypFinalize

Die Rückruffunktion wird aufgerufen, wenn eine Spalte, die abgeschlossen werden kann, auf 0 0 gestiegen ist.

JET_cbtypBeforeInsert

Die Rückruffunktion wird vor dem Einfügen des Datensatzes aufgerufen.

JET_cbtypAfterInsert

Die Rückruffunktion wird aufgerufen, sobald die Datenbank-Engine das Einfügen eines Datensatzes abgeschlossen hat.

JET_cbtypBeforeReplace

Die Rückruffunktion wird vor der Änderung eines Datensatzes aufgerufen.

JET_cbtypAfterReplace

Die Rückruffunktion wird aufgerufen, nachdem die Änderung eines Datensatzes abgeschlossen wurde.

JET_cbtypBeforeDelete

Die Rückruffunktion wird vor dem Löschen eines Datensatzes aufgerufen.

JET_cbtypAfterDelete

Die Rückruffunktion wird aufgerufen, nachdem ein Datensatz gelöscht wurde.

JET_cbtypUserDefinedDefaultValue

Die Rückruffunktion wird aufgerufen, um einen benutzerdefinierten Standardwert zu berechnen.

JET_cbtypOnlineDefragCompleted

Die Rückruffunktion wird aufgerufen, nachdem ein Aufruf von JetDefragment2 abgeschlossen wurde.

JET_cbtypFreeCursorLS

Die Rückruffunktion wird aufgerufen, wenn der lokale Speicher, der einem Cursor zugeordnet ist, freigegeben werden muss.

JET_cbtypFreeTableLS

Die Rückruffunktion wird aufgerufen, wenn der lokale Speicher, der einer Tabelle zugeordnet ist, freigegeben werden muss.

grbit

Eine Gruppe von Bits, die die Optionen für diesen Aufruf enthalten, die null oder mehr der folgenden Werte enthalten.

Wert

Bedeutung

JET_bitTableCreateFixedDDL

Das Festlegen JET_bitTableCreateFixedDDL verhindert DDL-Vorgänge für die Tabelle (z. B. das Hinzufügen oder Entfernen von Spalten).

JET_bitTableCreateTemplateTable

Das Festlegen JET_bitTableCreateTemplateTable bewirkt, dass die Tabelle eine Vorlagentabelle ist. Neue Tabellen können dann den Namen dieser Tabelle als Vorlagentabelle angeben. Das Festlegen JET_bitTableCreateTemplateTable impliziert JET_bitTableCreateFixedDDL.

JET_bitTableCreateNoFixedVarColumnsInDerivedTables

Muss in Verbindung mit JET_bitTableCreateTemplateTable verwendet werden. Veraltet. Nicht verwenden.

tableid

Ein Ausgabefeld, das die JET_TABLEID der neuen Tabelle enthält, wenn der API-Aufruf erfolgreich ist. Wenn der API-Aufruf fehlschlägt, ist der Wert nicht definiert.

cCreated

Ein Ausgabefeld, das die Anzahl der Objekte enthält, die erstellt werden, wenn der API-Aufruf erfolgreich ist. Wenn der API-Aufruf fehlschlägt, ist der Wert nicht definiert.

Die Anzahl der erstellten Objekte entspricht der Summe von Spalten, Tabellen und Indizes, die erfolgreich erstellt wurden.

Anforderungen

Anforderung Wert

Client

Erfordert Windows Vista oder Windows XP.

Server

Erfordert Windows Server 2008 oder Windows Server 2003.

Kopfzeile

Deklariert in Esent.h.

Unicode

Implementiert als JET_TABLECREATE2_W (Unicode) und JET_TABLECREATE2_A (ANSI).

Weitere Informationen

JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2