JET_COLUMNDEF-Struktur

Letzte Änderung: Freitag, 27. Februar 2015

Gilt für: Windows | Windows Server

JET_COLUMNDEF-Struktur

Die Struktur 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;

Mitglieder

cbStruct

Die Größe der Struktur in Byte. Es muss auf Sizeof (JET_COLUMNDEF) festgelegt werden.

Spalten-ID

Reserviert. Spalten-ID muss auf 0 (null) festgelegt werden.

coltyp

Der Typ der Spalte (beispielsweise Text, Binär- oder numerische). 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-Werts

Die Codepage für die Spalte. Die einzige gültige Werte für Textspalten sind Englisch (1252) und Unicode (1200). Der Wert 0 bedeutet, dass die Standardeinstellung werden (Englisch, 1252) verwendet. Wenn die Spalte keine Textspalte ist, ruft Codepage automatisch auf 0 (null) festgelegt.

wCollate

Reserviert. wCollate muss auf 0 (null) festgelegt werden.

cbMax

Die maximale Länge in Bytes einer Spalte variabler Länge oder die Länge einer Spalte mit fester Länge.

JET_errInvalidGrbit

Eine Gruppe von Bits an, die die Optionen für dieses Anrufs zu verwendende enthalten, die NULL oder mehrere der folgenden Werte enthalten.

Wert

Bedeutung

JET_bitColumnFixed

Die Spalte wird behoben werden. Verwenden sie immer den gleichen Speicherplatz in einer Zeile, unabhängig davon, wie viele Daten in der Spalte gespeichert wird. JET_bitColumnFixed kann nicht mit JET_bitColumnTagged verwendet werden. Dieses Bit kann nicht mit langen Werten (das JET_coltypLongText und JET_coltypLongBinary) verwendet werden.

JET_bitColumnTagged

Die Spalte werden gekennzeichnet. Markierte Spalten werden keine Speicherplatz in der Datenbank, wenn sie keine Daten enthalten. Dieses Bit kann nicht mit JET_bitColumnFixed verwendet werden.

JET_bitColumnNotNULL

Die Spalte muss niemals auf einen NULL-Wert festgelegt werden.

JET_bitColumnVersion

Die Spalte ist eine Spalte Version, die die Version der Zeile angibt. Der Wert dieser Spalte beginnt mit 0 (null) und wird für jedes Update in der Zeile automatisch erhöht.

Dieses Bit kann nur auf JET_coltypLong Spalten angewendet werden. Dieses Bit kann nicht mit JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate oder JET_bitColumnTagged verwendet werden.

JET_bitColumnAutoincrement

Die Spalte wird automatisch erhöht. Die Anzahl ist eine zunehmende Anzahl, und es wird sichergestellt, dass in einer Tabelle eindeutig sein. Die Zahlen möglicherweise jedoch nicht zusammenhängend sein. Wenn fünf Zeilen in einer Tabelle eingefügt werden, kann die Spalte "Autoincrement" beispielsweise die Werte {1, 2, 6, 7, 8} enthalten. Dieses Bit kann nur auf Spalten vom Typ JET_coltypLong oder JET_coltypCurrencyverwendet werden.

Windows 2000:In Windows 2000 kann nur dieses Bit auf Spalten vom Typ JET_coltypLongverwendet werden.

JET_bitColumnUpdatable

Dieses Bit ist nur für Aufrufe der JetGetColumnInfogültig.

JET_bitColumnTTKey

Dieses Bit ist nur für Aufrufe der JetOpenTablegültig.

JET_bitColumnTTDescending

Dieses Bit ist nur für Aufrufe der JetOpenTempTablegültig.

JET_bitColumnMultiValued

Die Spalte kann mit mehreren Werten entsprechen. Eine mehrwertige Spalte kann 0 (null), eine oder mehrere Werte zugeordnet haben. Der verschiedenen Werte in einer Spalte mit mehreren Werten werden durch eine Zahl bezeichnet den ItagSequence -Member, die zu verschiedenen Strukturen, einschließlich gehört identifiziert: JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMNund JET_ENUMCOLUMNVALUE. Mehrwertige Spalten müssen markierte Spalten sein. d. h., sie Spalten mit fester Länge oder variabler Länge nicht möglich.

JET_bitColumnEscrowUpdate

Gibt an, dass eine Spalte eine Spalte des hinterlegten Update ist. Eine hinterlegten Update Spalte Zukunft kann gleichzeitig von verschiedenen Sitzungen mit JetEscrowUpdate aktualisiert werden und in Transaktionskonsistenz. Eine hinterlegten Update Spalte muss außerdem die folgenden Bedingungen erfüllen:

  • Nur, wenn die Tabelle leer ist, kann eine hinterlegten Update-Spalte erstellt werden.

  • Eine hinterlegten Update Spalte muss vom Typ JET_coltypLongsein.

  • Eine hinterlegten Update Spalte muss einen Standardwert verfügen (d. h., dass CbDefault muss positiv sein).

  • JET_bitColumnEscrowUpdate kann nicht gemeinsam mit JET_bitColumnTagged, JET_bitColumnVersion oder JET_bitColumnAutoincrement verwendet werden.

JET_bitColumnUnversioned

Die Spalte erstellt werden ein ohne Versionsinformationen. Dies bedeutet, dass andere Transaktionen, die versuchen, eine Spalte mit dem gleichen Namen hinzufügen schlägt fehl. Dieses Bit ist nur mit JetAddColumnhilfreich. Es kann nicht innerhalb einer Transaktion verwendet werden.

JET_bitColumnMaybeNull

Für die zukünftige Verwendung reserviert.

JET_bitColumnFinalize

Verwenden Sie anstelle von JET_bitColumnFinalize JET_bitColumnDeleteOnZero. JET_bitColumnFinalize, dass eine Spalte abgeschlossen werden kann. Wenn eine Spalte, die abgeschlossen werden kann eine hinterlegten Update-Spalte, die 0 (null) erreicht aufweist, wird die Zeile gelöscht. Zukünftige Versionen möglicherweise Ruft eine Rückruffunktion stattdessen (Weitere Informationen finden Sie unter JET_CALLBACK). Eine Spalte, die Finalisierung kann muss eine hinterlegten Update-Spalte. JET_bitColumnFinalize kann nicht mit JET_bitColumnUserDefinedDefault verwendet werden.

JET_bitColumnUserDefinedDefault

Der Standardwert für eine Spalte wird durch eine Rückruffunktion bereitgestellt werden. Finden Sie unter JET_CALLBACK. Eine Spalte, die eine standardmäßige benutzerdefinierte hat, muss eine markierte Spalte. Angeben von JET_bitColumnUserDefinedDefault bedeutet, dass PvDefault muss auf eine Struktur JET_USERDEFINEDDEFAULT und CbDefault auf Sizeof ( JET_USERDEFINEDDEFAULT ) festgelegt werden muss.

  • JET_bitColumnUserDefinedDefault kann nicht gemeinsam mit JET_bitColumnFixed, JET_bitColumnNotNULL, JET_bitColumnVersion, JET_bitColumnAutoincrement, JET_bitColumnUpdatable, JET_bitColumnEscrowUpdate, JET_bitColumnFinalize, JET_bitColumnDeleteOnZero oder JET_bitColumnMaybeNull verwendet werden.

JET_bitColumnDeleteOnZero

Die Spalte ist eine Spalte des hinterlegten aktualisieren, und wenn er 0 (null) erreicht, wird der Datensatz gelöscht. Häufig verwendet für eine Spalte, die Finalisierung kann ist, verwenden Sie es als Referenz Count Feld, und wenn das Feld Null erreicht, die der Datensatz gelöscht wird. JET_bitColumnDeleteOnZero ist JET_bitColumnFinalize verknüpft. Eine Spalte löschen auf NULL, muss eine hinterlegten Update-Spalte. JET_bitColumnDeleteOnZero kann nicht mit JET_bitColumnFinalize verwendet werden. JET_bitColumnDeleteOnZero kann nicht mit der benutzerdefinierten Spalten verwendet werden.

Voraussetzungen

-Client,

Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.

Server

WindowsServer 2008, WindowsServer 2003 oder Windows 2000 Server benötigt.

Kopfzeile

In Esent.h deklariert.

Siehe auch

JET_CALLBACK
JET_COLTYP
JET_COLUMNCREATE
JET_COLUMNID
JET_GRBIT
JET_USERDEFINEDDEFAULT
JetAddColumn
JetEscrowUpdate
JetGetTableColumnInfo
JetOpenTempTable
JetOpenTempTable2
JetOpenTempTable3
JetRenameColumn