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