JET_COLUMNDEF-Struktur
Gilt für: Windows | Windows Server
JET_COLUMNDEF-Struktur
Die JET_COLUMNDEF definiert die Daten, die in einer Spalte gespeichert werden können.
typedef struct {
unsigned long cbStruct;
JET_COLUMNID columnid;
JET_COLTYP coltyp;
unsigned short wCountry;
unsigned short langid;
unsigned short cp;
unsigned short wCollate;
unsigned long cbMax;
JET_GRBIT grbit;
} JET_COLUMNDEF;
Member
cbStruct
Die Größe der -Struktur in Bytes. Er muss auf sizeof( JET_COLUMNDEF) festgelegt werden.
Columnid
Reserviert. columnid muss auf 0 (null) festgelegt werden.
coltyp
Der Typ der Spalte (z. B. Text, binär oder numerisch). Weitere Informationen finden Sie unter JET_COLTYP.
wCountry
Reserviert. wCountry muss auf 0 (null) festgelegt werden.
langid
Veraltet. langid sollte auf 0 (null) festgelegt werden.
cp
Die Codepage für die Spalte. Die einzigen gültigen Werte für Textspalten sind Englisch (1252) und Unicode (1200). Der Wert 0 bedeutet, dass der Standardwert verwendet wird (Englisch, 1252). Wenn die Spalte keine Textspalte ist, wird die Codepage automatisch auf 0 (null) festgelegt.
wCollate
Reserviert. wCollate muss auf 0 (null) festgelegt werden.
cbMax
Die maximale Länge einer Spalte variabler Länge in Bytes oder die Länge einer Spalte fester Länge.
grbit
Eine Gruppe von Bits, die die für diesen Aufruf zu verwendenden Optionen enthalten, die null oder mehr der folgenden Werte enthalten.
Wert |
Bedeutung |
|---|---|
JET_bitColumnFixed |
Die Spalte wird korrigiert. Es wird immer die gleiche Menge an Speicherplatz in einer Zeile verwendet, unabhängig davon, wie viele Daten in der Spalte gespeichert werden. JET_bitColumnFixed kann nicht mit -JET_bitColumnTagged. Dieses Bit kann nicht mit langen Werten verwendet werden (d. h. JET_coltypLongText und JET_coltypLongBinary). |
JET_bitColumnTagged |
Die Spalte wird markiert. Markierte Spalten nehmen keinen Speicherplatz in der Datenbank ein, wenn sie keine Daten enthalten. Dieses Bit kann nicht mit -JET_bitColumnFixed. |
JET_bitColumnNotNULL |
Die Spalte darf nie auf einen NULL-Wert festgelegt werden. |
JET_bitColumnVersion |
Die Spalte ist eine Versionsspalte, die die Version der Zeile angibt. Der Wert dieser Spalte beginnt bei 0 (null) und wird für jedes Update der Zeile automatisch erhöht. Dieses Bit kann nur auf JET_coltypLong angewendet werden. Dieses Bit kann nicht mit JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate oder JET_bitColumnTagged. |
JET_bitColumnAutoincrement |
Die Spalte wird automatisch erhöht. Die Zahl ist eine steigende Zahl, und es ist garantiert, dass sie innerhalb einer Tabelle eindeutig ist. Die Zahlen sind jedoch möglicherweise nicht kontinuierlich. Wenn beispielsweise fünf Zeilen in eine Tabelle eingefügt werden, kann die Spalte "autoincrement" die Werte { 1, 2, 6, 7, 8 } enthalten. Dieses Bit kann nur für Spalten vom Typ JET_coltypLong oder JET_coltypCurrency. Windows 2000: In Windows 2000 kann dieses Bit nur für Spalten vom Typ JET_coltypLong. |
JET_bitColumnUpdatable |
Dieses Bit ist nur für Aufrufe von JetGetColumnInfo gültig. |
JET_bitColumnTTKey |
Dieses Bit ist nur für Aufrufe von JetOpenTable gültig. |
JET_bitColumnTTDescending |
Dieses Bit ist nur für Aufrufe von JetOpenTempTable gültig. |
JET_bitColumnMultiValued |
Die Spalte kann mehrere Werte haben. Einer mehrwertigen Spalte können null, ein oder mehrere Werte zugeordnet sein. Die verschiedenen Werte in einer mehrwertigen Spalte werden durch eine Zahl namens itagSequence-Member identifiziert, die zu verschiedenen Strukturen gehört, einschließlich: JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMNund JET_ENUMCOLUMNVALUE. Mehrwertige Spalten müssen mit Tags versehen sein. Das bedeutet, dass es sich nicht um Spalten fester länge oder variabler Länge handelt. |
JET_bitColumnEscrowUpdate |
Gibt an, dass es sich bei einer Spalte um eine Spalte zum Aktualisieren der Stirnrunzel handelt. Eine Spalte zum Aktualisieren der Stirnrunzeln kann gleichzeitig von verschiedenen Sitzungen mit JetEscrowUpdate aktualisiert werden und behält die Transaktionskonsistenz bei. Eine Spalte zum Aktualisieren der Stirnrunzeln muss auch die folgenden Bedingungen erfüllen:
|
JET_bitColumnUnversioned |
Die Spalte wird in einem ohne Versionsinformationen erstellt. Dies bedeutet, dass andere Transaktionen, die versuchen, eine Spalte mit dem gleichen Namen hinzuzufügen, fehlschlagen. Dieses Bit ist nur bei JetAddColumn nützlich. Sie kann nicht innerhalb einer Transaktion verwendet werden. |
JET_bitColumnMaybeNull |
Für die zukünftige Verwendung reserviert. |
JET_bitColumnFinalize |
Verwenden JET_bitColumnDeleteOnZero anstelle von JET_bitColumnFinalize. JET_bitColumnFinalize, dass eine Spalte finalisiert werden kann. Wenn eine Spalte, die finalisiert werden kann, über eine Spalte zum Aktualisieren der Hinterlegung 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 finalisiert werden kann, muss eine Spalte für die Aktualisierung nach der Stirnrunzel sein. JET_bitColumnFinalize kann nicht mit -JET_bitColumnUserDefinedDefault. |
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. Das Angeben JET_bitColumnUserDefinedDefault bedeutet, dass pvDefault auf eine JET_USERDEFINEDDEFAULT-Struktur verweisen muss, und cbDefault muss auf sizeof( JET_USERDEFINEDDEFAULT ) festgelegt werden.
|
JET_bitColumnDeleteOnZero |
Bei der Spalte handelt es sich um eine Spalte zum Aktualisieren der Stirnrunzeln, und wenn sie 0 (null) erreicht, wird der Datensatz gelöscht. Eine häufige Verwendung für eine Spalte, die finalisiert werden kann, ist die Verwendung als Verweiszählerfeld, und wenn das Feld 0 (null) erreicht, wird der Datensatz gelöscht. JET_bitColumnDeleteOnZero bezieht sich auf JET_bitColumnFinalize. Eine Delete-on-Zero-Spalte muss eine Spalte zum Aktualisieren der Stirnrunzel sein. JET_bitColumnDeleteOnZero kann nicht mit -JET_bitColumnFinalize. JET_bitColumnDeleteOnZero kann nicht mit benutzerdefinierten Standardspalten verwendet werden. |
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. |
Header |
Wird in Esent.h deklariert. |
Weitere Informationen
JET_CALLBACK
JET_COLTYP
JET_COLUMNCREATE
JET_COLUMNID
JET_GRBIT
JET_USERDEFINEDDEFAULT
JetAddColumn
JetEscrowUpdate
JetGetTableColumnInfo
JetOpenTempTable
JetOpenTempTable2
JetOpenTempTable3
JetRenameColumn