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 erforderlich sind, die mit Spalten und Indizes in einer ESE-Datenbank aufgefüllt wird und die eine Rückruffunktion bestimmt. Die JET_TABLECREATE2 wird von JetCreateTableColumnIndex2 verwendet.
Windows XP: Die JET_TABLECREATE2-Struktur wird in xp Windows 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). Sie muss auf sizeof( JET_TABLECREATE2 ) in Bytes festgelegt werden.
szTableName
Der Name der zu erstellenden Tabelle.
Der Name muss folgende Bedingungen erfüllen:
- Der Wert ist kleiner als JET_cbNameMost, ohne den beendenden NULL-Wert.
- Sie bestehen aus den folgenden Zeichen: 0 bis 9, A bis Z, a bis z und alle anderen Interpunktionen mit Ausnahme von Ausrufezeichen ( ), Komma (,), öffnenden eckigen Klammern () und schließenden Klammern (), d. h. ASCII-Zeichen 0x20, 0x22 bis ! [ ] 0x2d, 0x2f bis 0x5a, 0x5c und 0x5d bis 0x7f.
- Beginnen Sie nicht mit einem Leerzeichen.
- Besteht aus mindestens einem Zeichen, das kein Leerzeichen ist.
szTemplateTableName
Der Name einer bereits vorhandenen Tabelle, von der die Basis-DDL (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 zuteilen sind. Wenn Sie eine Zahl angeben, die größer als 1 ist, kann die Fragmentierung reduziert werden, wenn viele Zeilen in diese Tabelle eingefügt werden.
ulDensity
Die Tabellendichte in Prozent. Die Zahl muss entweder 0 oder im Bereich von 20 bis 100 liegen. Das Übergeben von 0 bedeutet, dass der Standardwert verwendet werden soll. Der Standardwert beträgt 80.
rgcolumncreate
Ein Array JET_COLUMNCREATE Strukturen, die jeweils einer Spalte entsprechen, die in der neuen Tabelle erstellt werden soll.
cColumns
Die Anzahl der JET_COLUMNCREATE in rgcolumncreate.
rgindexcreate
Ein Array JET_INDEXCREATE Strukturen, die jeweils einem Index entsprechen, der in der neuen Tabelle erstellt werden soll.
cIndexes
Die Anzahl der JET_INDEXCREATE in rgindexerzeugen.
szCallback
Die Funktion, die während bestimmter Ereignisse aufgerufen wird. cbtyp bestimmt, wann die Rückruffunktion aufgerufen wird.
Das Format von szCallback muss "Modulfunktion" lauten. "alpha beta" bezieht sich beispielsweise auf die Betafunktion im Modul ! mit dem Namen ! "alpha". Der Prototyp der Funktion muss mitJET_CALLBACK. Weitere Informationen finden Sie unter JET_CALLBACK.
cbtyp
Beschreibt den Typ der Rückruffunktion, die von szCallback festgelegt wird. 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 finalisiert werden kann, auf 0 (null) gesetzt wurde. |
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 beendet 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, frei werden muss. |
JET_cbtypFreeTableLS |
Die Rückruffunktion wird aufgerufen, wenn der lokale Speicher, der einer Tabelle zugeordnet ist, frei 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 JET_bitTableCreateFixedDDL verhindert DDL-Vorgänge für die Tabelle (z. B. das Hinzufügen oder Entfernen von Spalten). |
JET_bitTableCreateTemplateTable |
Das JET_bitTableCreateTemplateTable bewirkt, dass die Tabelle eine Vorlagentabelle ist. Neue Tabellen können dann den Namen dieser Tabelle als Vorlagentabelle angeben. Das JET_bitTableCreateTemplateTable impliziert JET_bitTableCreateFixedDDL. |
JET_bitTableCreateNoFixedVarColumnsInDerivedTables |
Muss in Verbindung mit der -JET_bitTableCreateTemplateTable. 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 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. |
Header |
Wird in Esent.h deklariert. |
Unicode |
Wird als JET_TABLECREATE2_W (Unicode) und JET_TABLECREATE2_A (ANSI) implementiert. |
Weitere Informationen
JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2