JET_COLUMNCREATE-Struktur
Gilt für: Windows | Windows Server
JET_COLUMNCREATE-Struktur
Die JET_COLUMNCREATE-Struktur beschreibt eine Spalte, die in einer Datenbank erstellt werden soll.
typedef struct tag_JET_COLUMNCREATE {
unsigned long cbStruct;
tchar* szColumnName;
JET_COLTYP coltyp;
unsigned long cbMax;
JET_GRBIT grbit;
void* pvDefault;
unsigned long cbDefault;
unsigned long cp;
JET_COLUMNID columnid;
JET_ERR err;
} JET_COLUMNCREATE;
Member
cbStruct
Die Größe der Struktur in Bytes. Dieses Feld muss mit sizeof( JET_COLUMNCREATE ) initialisiert werden.
szColumnName
Der Name der zu erstellenden Spalte. Der Name muss die folgenden Kriterien erfüllen:
- Es muss weniger als JET_cbNameMost Zeichen lang sein, ohne dass der abschließende NULL-Wert enthalten ist.
- Es darf nur Zeichen aus den folgenden Sätzen enthalten: 0 bis 9, A bis Z, a bis z und alle anderen Interpunktionszeichen mit Ausnahme von Ausrufezeichen (!), Komma (,), öffnender Klammer ([) und schließender Klammer (]), d. h. ASCII-Zeichen 0x20, 0x22 bis 0x2d, 0x2f über 0x5a, 0x5c, 0x5d über 0x7f.
- Es kann nicht mit einem Leerzeichen beginnen.
- Sie muss mindestens ein Zeichen ohne Leerzeichen enthalten.
coltyp
Der Typ der Spalte (z. B. Text, binär oder numerisch). Weitere Informationen finden Sie unter JET_COLTYP.
cbMax
Die maximale Länge einer Spalte mit variabler Länge in Bytes. Die Länge der Spalte für Spalten mit fester Länge.
grbit
Eine Gruppe von Bits, die die Optionen für diese Struktur enthalten und null oder mehr der folgenden Werte enthalten.
Wert |
Bedeutung |
---|---|
JET_bitColumnFixed |
Die Spalte ist fest. Es verwendet immer den gleichen Speicherplatz in einer Zeile, unabhängig davon, wie viele Daten in der Spalte gespeichert werden. JET_bitColumnFixed können nicht mit JET_bitColumnTagged verwendet werden. Dieses Bit kann nicht mit langen Werten wie JET_coltypLongText und JET_coltypLongBinary verwendet werden. |
JET_bitColumnTagged |
Die Spalte ist markiert. Markierte Spalten belegen keinen Speicherplatz in der Datenbank, wenn sie keine Daten enthalten. Dieses Bit kann nicht mit JET_bitColumnFixed verwendet werden. |
JET_bitColumnNotNULL |
Die Spalte darf niemals auf einen NULL-Wert festgelegt werden. |
JET_bitColumnAutoincrement |
Die Spalte wird automatisch erhöht. Die Zahl ist eine steigende Zahl und ist innerhalb einer Tabelle garantiert eindeutig. Die Zahl ist jedoch möglicherweise nicht fortlaufend. Wenn beispielsweise fünf Zeilen in eine Tabelle eingefügt werden, kann die Autoinkrementspalte die Werte { 1, 2, 6, 7, 8 } enthalten. Windows 2000: Dieses Bit kann nur für Spalten vom Typ JET_coltypLong verwendet werden. Windows Server 2003 und höher: Dieses Bit kann nur für Spalten vom Typ JET_coltypLong oder JET_coltypCurrency verwendet werden. |
JET_bitColumnUpdatable |
Dieses Bit ist nur für Aufrufe von JetGetColumnInfo gültig. |
JET_bitColumnTTKey |
Dieses Bit ist nur für Aufrufe von JetOpenTempTable gültig. |
JET_bitColumnTTDescending |
Dieses Bit ist nur für Aufrufe von JetOpenTempTable gültig. |
JET_bitColumnMultiValued |
Die Spalte kann mehrwertige Werte aufweisen. Einer mehrwertigen Spalte können null, ein oder mehrere Werte zugeordnet sein. Die verschiedenen Werte in einer mehrwertigen Spalte werden durch den itagSequence-Member verschiedener Strukturen identifiziert, z. B. JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN, JET_ENUMCOLUMNVALUE. Mehrwertige Spalten müssen markierte Spalten sein. Das heißt, sie dürfen keine Spalten mit fester Länge oder spalten mit variabler Länge sein. |
JET_bitColumnEscrowUpdate |
Die Spalte ist eine Escrow-Updatespalte. Eine Escrow-Updatespalte kann gleichzeitig von verschiedenen Sitzungen mit JetEscrowUpdate aktualisiert werden und die Transaktionskonsistenz aufrechterhalten.
|
JET_bitColumnUnversioned |
Die Spalte wird ohne Version erstellt. Andere Transaktionen, die versuchen, eine Spalte mit demselben Namen hinzuzufügen, schlagen fehl. Dieses Bit ist nur mit JetAddColumn nützlich. Sie kann nicht innerhalb einer Transaktion verwendet werden. |
JET_bitColumnMaybeNull |
Für die zukünftige Verwendung reserviert. |
JET_bitColumnFinalize |
Verwenden Sie JET_bitColumnDeleteOnZero anstelle von JET_bitColumnFinalize. JET_bitColumnFinalize gibt an, dass eine Spalte abgeschlossen werden kann. Wenn eine Spalte, die abgeschlossen werden kann, über eine Escrow-Updatespalte verfügt, die null erreicht, wird die Zeile gelöscht. Zukünftige Versionen können stattdessen eine Rückruffunktion aufrufen. Weitere Informationen finden Sie unter JET_CALLBACK. Eine Spalte, die abgeschlossen werden kann, muss eine Escrow-Updatespalte sein. JET_bitColumnFinalize kann nicht mit JET_bitColumnUserDefinedDefault verwendet werden. |
JET_bitColumnUserDefinedDefault |
Der Standardwert für eine Spalte wird von der Rückruffunktion JET_CALLBACK bereitgestellt. Eine Spalte mit einer benutzerdefinierten Standardeinstellung muss eine markierte Spalte sein. pvDefault muss auf eine JET_USERDEFINEDDEFAULT-Struktur zeigen, und cbDefault muss auf sizeof(JET_USERDEFINEDDEFAULT) festgelegt werden. JET_bitColumnUserDefinedDefault können nicht in Verbindung mit den folgenden Konstanten verwendet werden:
|
JET_bitColumnDeleteOnZero |
Die Spalte ist eine Escrow-Updatespalte, und wenn sie null erreicht, wird der Datensatz gelöscht. Eine häufige Verwendung für eine Spalte, die abgeschlossen werden kann, besteht darin, sie als Verweisanzahlfeld zu verwenden, und wenn das Feld null erreicht, wird der Datensatz gelöscht. JET_bitColumnDeleteOnZero bezieht sich auf JET_bitColumnFinalize. Eine Delete-on-Zero-Spalte muss eine Escrow-Updatespalte sein. JET_bitColumnDeleteOnZero können nicht mit JET_bitColumnFinalize verwendet werden. JET_bitColumnDeleteOnZero können nicht mit benutzerdefinierten Standardspalten verwendet werden. |
pvDefault
Zeigt auf einen Puffer, der der Standardwert für eine Spalte ist. Die Länge des Puffers ist cbDefault. Wenn kein Standardwert vorhanden ist, sollte pvDefault auf NULL und cbDefault auf Null festgelegt werden. Wenn grbit JET_bitColumnUserDefinedDefault festgelegt hat, wird pvDefault als Zeiger auf eine JET_USERDEFINEDDEFAULT-Struktur interpretiert. Standardwerte dürfen nicht größer als 255 Bytes sein. Wenn ein Standardwert größer als 255 Bytes ist, wird er unbeaufsichtigt abgeschnitten.
cbDefault
Die Größe des von pvDefault angegebenen Puffers in Bytes.
cp
Die Codepage für die Spalte. Die einzigen gültigen Werte für Textspalten sind Englisch (1252) und Unicode (1200). Ein Wert von 0 bedeutet, dass der Standardwert verwendet wird (Englisch, 1252). Wenn es sich bei der Spalte nicht um eine Textspalte handelt, wird die Codepage automatisch auf 0 festgelegt.
Columnid
Bei Erfolg wird der Spaltenbezeichner der neu erstellten Spalte in diesem Feld zurückgegeben. Bei Einem Fehler ist der Wert nicht definiert.
err
Das Feld "Fehler" enthält die status zum Erstellen dieser Spalte. Eine Liste wahrscheinlicher Rückgabewerte finden Sie unter JetAddColumn .
Anforderungen
Anforderung | Wert |
---|---|
Client |
Erfordert Windows Vista, Windows XP oder Windows 2000 Professional. |
Server |
Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server. |
Kopfzeile |
Deklariert in Esent.h. |
Unicode |
Implementiert als JET_COLUMNCREATE_W (Unicode) und JET_COLUMNCREATE_A (ANSI). |
Weitere Informationen
JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JET_RETINFO
JET_SETINFO
JET_SETCOLUMN
JET_RETRIEVECOLUMN
JET_ENUMCOLUMNVALUE
JetAddColumn
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetEscrowUpdate
JetRenameColumn
JetSetColumns