JET_TABLECREATE3-Struktur

Gilt für: Windows | Windows Server

Die JET_TABLECREATE3-Struktur enthält die Informationen, die zum Erstellen einer Tabelle mit Spalten und Indizes in einer ESE-Datenbank (Extensible Storage Engine) erforderlich sind, und die eine Rückruffunktion angibt. Die JET_TABLECREATE3-Struktur wird von der JetCreateTableColumnIndex3-Funktion verwendet.

Die JET_TABLECREATE3-Struktur wurde im Windows 7-Betriebssystem eingeführt.

typedef struct tagJET_TABLECREATE3 {
  unsigned long cbStruct;
  tchar* szTableName;
  tchar* szTemplateTableName;
  unsigned long ulPages;
  unsigned long ulDensity;
  JET_COLUMNCREATE* rgcolumncreate;
  unsigned long cColumns;
    JET_INDEXCREATE2* rgindexcreate;
  unsigned long cIndexes;
  tchar* szCallback;
  JET_CBTYP cbtyp;
  JET_GRBIT grbit;
  JET_TABLEID tableid;
  un  JET_GRBIT grbit;
  JET_SPACEHINTS* pSeqSpacehints;
  JET_SPACEHINTS* pLVSpacehints;
  unsigned long cbSeparateLV;
  JET_TABLEID tableid;
  unsigned long cCreated;
} JET_TABLECREATE3;>

Member

cbStruct

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

szTableName

Der Name der zu erstellenden Tabelle.

Der Name muss die folgenden Bedingungen erfüllen:

  • Sie muss einen Wert aufweisen, der kleiner als JET_cbNameMost ist, ohne dass der abschließende NULL-Wert enthalten ist.

  • Sie muss aus den folgenden Zeichen bestehen: 0 bis 9, A bis Z, a bis z und alle anderen Interpunktionszeichen mit Ausnahme von Ausrufezeichen (!), Komma (,), öffnender Klammer ([) und schließender Klammer (]); das heißt, ASCII-Zeichen 0x20, 0x22 bis 0x2d, 0x2f über 0x5a, 0x5c und 0x5d über 0x7f.

  • Sie darf nicht mit einem Leerzeichen beginnen.

  • Sie muss aus mindestens einem Nicht-Leerzeichen bestehen.

szTemplateTableName

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

ulPages

Die anfängliche Anzahl von Datenbankseiten, die der 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 ist 80.

rgcolumncreate

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

cColumns

Die Anzahl von JET_COLUMNCREATE Elementen im rgcolumncreate-Parameter .

rgindexcreate

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

cIndexes

Die Anzahl der JET_INDEXCREATE2-Elemente im rgindexcreate-Parameter .

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 der rückruffunktion JET_CALLBACK übereinstimmen.

cbtyp

Beschreibt den Typ der Rückruffunktion, die von szCallback festgelegt wurde. Weitere Informationen finden Sie unter JET_CBTYP.

Dieses Bitfeld besteht aus einem oder mehreren der in der folgenden Tabelle aufgeführten Bitwerte.

Wert

Bedeutung

JET_cbtypFinalize

Die Rückruffunktion wird aufgerufen, wenn eine Spalte, die abgeschlossen werden kann, auf 0 (null) festgelegt ist.

JET_cbtypBeforeInsert

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

JET_cbtypAfterInsert

Die Rückruffunktion wird aufgerufen, nachdem 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 ist.

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 eine benutzerdefinierte Standardeinstellung zu berechnen.

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 null oder mehr der in der folgenden Tabelle aufgeführten Aufrufoptionswerte enthält.

Wert

Bedeutung

JET_bitTableCreateFixedDDL

Verhindert DDL-Vorgänge für die Tabelle (z. B. Hinzufügen oder Entfernen von Spalten).

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.

pSeqSpacehints

Ein Zeiger auf eine JET_SPACEHINTS-Struktur für den sequenziellen Standardindex.

pSeqSpacehints wurde in Windows 7 eingeführt.

pLVSpacehints

Ein Zeiger auf eine JET_SPACEHINTS-Struktur für eine Struktur mit einem getrennten langen Wert.

pLVSpacehints wurde in Windows 7 eingeführt.

cbSeparateLV

Die Größe zum Trennen eines systeminternen LV vom primären Datensatz. Jede c-Struktur mit langen Werten für eine getrennte LV-Struktur. Weitere Informationen finden Sie unter ng-value in JET_SPACEHINTS. Spalten mit langen Werten, die kleiner als dieser Wert sind, können getrennt werden, wenn der Datensatz zu groß wird.

cbSeparateLV wurde in Windows 7 eingeführt.

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. Diese Tabelle wird exklusiv geöffnet.

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 der erfolgreich erstellten Spalten, Tabellen und Indizes.

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_TABLECREATE3_W (Unicode) und JET_TABLECREATE3_A (ANSI).

Siehe auch

JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2