JET_COLUMNBASE-Struktur
Gilt für: Windows | Windows Server
JET_COLUMNBASE-Struktur
Die JET_COLUMNBASE-Struktur beschreibt die Parameter einer Basisspalte. Die Funktionen JetGetColumnInfo und JetGetTableColumnInfo verwenden die JET_COLUMNBASE-Struktur .
typedef struct {
unsigned long cbStruct;
JET_COLUMNID columnid;
JET_COLTYP coltyp;
unsigned short wCountry;
unsigned short langid;
unsigned short cp;
unsigned short wFiller;
unsigned long cbMax;
JET_GRBIT grbit;
tchar szBaseTableName[256];
tchar szBaseColumnName[256];
} JET_COLUMNBASE;
Member
cbStruct
Die Größe dieser Struktur in Bytes. Legen Sie cbStruct auf sizeof( JET_COLUMNBASE fest.
Columnid
Reserviert. Legen Sie columnid auf 0 (null) fest.
coltyp
Der Typ der Spalte (z. B. Text, binär oder numerisch). Weitere Informationen finden Sie unter JET_COLTYP.
wCountry
Reserviert. Legen Sie auf 0 (null) fest.
Langid
Reserviert. Legen Sie auf 0 (null) fest.
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.
wFiller
Reserviert. Legen Sie auf 0 (null) fest.
cbMax
Die maximale Länge einer Spalte mit variabler Länge in Bytes oder die tatsächliche Länge einer Spalte mit fester Länge in Bytes.
grbit
Optionen für die Spalte, einschließlich null oder mehr der folgenden Werte.
Wert |
Bedeutung |
---|---|
JET_bitColumnFixed |
Die Spalte ist fest und belegt unabhängig davon, wie viele Daten sie enthält, den gleichen Speicherplatz in einer Zeile. JET_bitColumnFixed können nicht mit JET_bitColumnTagged kombiniert und nicht verwendet werden, wenn der coltyp-Member auf JET_coltypLongText oder JET_coltypLongBinary festgelegt ist. |
JET_bitColumnTagged |
Die Spalte ist markiert und belegt nur Dann Speicherplatz in der Datenbank, wenn sie Daten enthält. JET_bitColumnTagged können nicht mit JET_bitColumnFixed, JET_bitColumnVersion oder JET_bitColumnEscrowUpdate kombiniert werden. |
JET_bitColumnNotNULL |
Die Spalte darf nicht auf einen NULL-Wert festgelegt werden. JET_bitColumnNotNULL können nicht mit JET_bitColumnUserDefinedDefault kombiniert werden. |
JET_bitColumnVersion |
Die Spalte ist eine Versionsspalte, die die Version der Zeile angibt. Der Wert dieser Spalte beginnt bei 0 und wird bei jeder Aktualisierung der Zeile automatisch erhöht. JET_bitColumnVersion können nur verwendet werden, wenn der coltyp-Member auf JET_coltypLong festgelegt ist und nicht mit JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate, JET_bitColumnTagged oder JET_bitColumnUserDefinedDefault kombiniert werden kann. |
JET_bitColumnAutoincrement |
Die Spalte wird automatisch erhöht. Die Zahl ist eine steigende Zahl und ist innerhalb einer Tabelle garantiert eindeutig. Die Zahlen sind jedoch möglicherweise nicht sequenziell. Wenn beispielsweise fünf Zeilen in eine Tabelle eingefügt werden, könnte die automatisch inkrementierte Spalte die Werte { 1, 2, 6, 7, 8 } enthalten. JET_bitColumnAutoincrement können nur verwendet werden, wenn das Coltypelement auf JET_coltypLong oder JET_coltypCurrency festgelegt ist und nicht mit JET_bitColumnEscrowUpdate, JET_bitColumnUserDefinedDefault oder JET_bitColumnVersion kombiniert werden kann. Windows 2000: JET_bitColumnVersion können nur verwendet werden, wenn der coltyp-Member auf JET_coltypLong festgelegt ist. |
JET_bitColumnUpdatable |
Gilt nur für Aufrufe von JetGetColumnInfo. JET_bitColumnUpdatable können nicht mit JET_bitColumnUserDefinedDefault kombiniert werden. |
JET_bitColumnTTKey |
Gilt nur für Aufrufe von JetOpenTable. |
JET_bitColumnTTDescending |
Gilt nur für Aufrufe von JetOpenTempTable. |
JET_bitColumnMultiValued |
Die Spalte kann mehrwertige Werte aufweisen. Einer mehrwertigen Spalte kann null, ein oder mehrere Werte zugeordnet sein. Die verschiedenen Werte in einer mehrwertigen Spalte werden durch eine Zahl im itagSequence-Member verschiedener Strukturen identifiziert, z. B. JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN, JET_ENUMCOLUMNVALUE. Spalten mit mehreren Werten müssen markiert sein. Das heißt, es dürfen keine Spalten mit fester länge oder variabler Länge sein. |
JET_bitColumnEscrowUpdate |
Gibt an, dass eine Spalte eine Escrow-Updatespalte ist, die gleichzeitig von verschiedenen Sitzungen mit JetEscrowUpdate aktualisiert werden kann und transaktionskonsistenz aufweist.
|
JET_bitColumnUnversioned |
Die Spalte wird ohne Versionsnummer erstellt. Dies bedeutet, dass andere Transaktionen, die versuchen, eine Spalte mit demselben Namen hinzuzufügen, fehlschlagen. JET_bitColumnUnversioned wird nur mit JetAddColumn verwendet. Sie kann nicht innerhalb einer Transaktion verwendet werden. |
JET_bitColumnMaybeNull |
Für die zukünftige Verwendung reserviert. JET_bitColumnMaybeNull können nicht mit JET_bitColumnUserDefinedDefault kombiniert werden. |
JET_bitColumnFinalize |
Darf nicht verwendet werden. Verwenden Sie stattdessen JET_bitColumnDeleteOnZero. Die Spalte kann abgeschlossen werden. Eine Spalte, die abgeschlossen werden kann, ist eine Escrow-Updatespalte, die dazu führt, dass die Zeile gelöscht wird, wenn die Spalte 0 0 erreicht. Zukünftige Versionen können stattdessen eine Rückruffunktion aufrufen (siehe JET_CALLBACK). Eine Spalte, die abgeschlossen werden kann, muss eine Escrow-Updatespalte sein. JET_bitColumnFinalize können nicht mit JET_bitColumnUserDefinedDefault kombiniert werden. |
JET_bitColumnUserDefinedDefault |
Der Standardwert für eine Spalte wird von einer Rückruffunktion bereitgestellt. Siehe JET_CALLBACK. Eine Spalte mit einem benutzerdefinierten Standardwert muss eine markierte Spalte sein. Wenn JET_bitColumnUserDefinedDefault angegeben wird, muss der pvDefault auf eine JET_USERDEFINEDDEFAULT-Struktur zeigen, und cbDefault muss auf sizeof( JET_USERDEFINEDDEFAULT ) festgelegt werden. JET_bitColumnUserDefinedDefault können nicht mit JET_bitColumnFixed, JET_bitColumnNotNULL, JET_bitColumnVersion, JET_bitColumnAutoincrement, JET_bitColumnUpdatable, JET_bitColumnEscrowUpdate, JET_bitColumnFinalize, JET_bitColumnDeleteOnZero oder JET_bitColumnMaybeNull kombiniert 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 Delete-on-Zero-Spalten ist als Verweisanzahlfelder. Wenn die Anzahl der Verweise auf null fällt, wird der Datensatz gelöscht. Eine Delete-on-Zero-Spalte muss eine Escrow-Updatespalte sein. JET_bitColumnDeleteOnZero ersetzt JET_bitColumnFinalize. JET_bitColumnDeleteOnZero kann nicht mit JET_bitColumnFinalize oder JET_bitColumnUserDefinedDefault kombiniert und nicht mit benutzerdefinierten Standardspalten verwendet werden. |
szBaseTableName
Die Tabelle, von der die aktuelle Tabelle ihre DDL erbt.
szBaseColumnName
Der Name der Spalte in der Vorlagentabelle.
Bemerkungen
JET_COLUMNBASE enthält viele der gleichen Informationen wie JET_COLUMNDEF, fügt jedoch Zeichenfolgenfelder hinzu, um die Basistabelle zu beschreiben (wenn eine hierarchische DDL verwendet wurde).
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_COLUMNBASE_W (Unicode) und JET_COLUMNBASE_A (ANSI). |
Weitere Informationen
JET_CALLBACK
JET_COLTYP
JET_COLUMNDEF
JET_COLUMNID
JET_GRBIT
JET_SESID
JET_TABLEID
JET_USERDEFINEDDEFAULT
JetGetColumnInfo
JetGetTableColumnInfo
JetRenameColumn