Freigeben über


JET_COLUMNBASE-Struktur

Letzte Änderung: Freitag, 27. Februar 2015

Gilt für: Windows | Windows Server

JET_COLUMNBASE-Struktur

Die JET_COLUMNBASE -Struktur werden die Parameter der eine 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;

Mitglieder

cbStruct

Die Größe der Struktur in Bytes. CbStruct auf sizeof( JET_COLUMNBASE )festgelegt.

Spalten-ID

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

coltyp

Der Typ der Spalte (z. B. Text, Binär oder numerische). Weitere Informationen finden Sie unter JET_COLTYP.

wCountry

Reserviert. Legen Sie auf 0 (null).

;LANGID

Reserviert. Legen Sie auf 0 (null).

CP

Die Codepage für die Spalte. Die einzigen gültigen Werte für Text-Spalten sind Englisch (1252) und Unicode (1200). Der Wert 0 (null) bedeutet, dass der Standardwert (Deutsch, 1252) verwendet. Wenn die Spalte keine Text-Spalte ist, wird automatisch die Codepage 0 (null) festgelegt.

wFiller

Reserviert. Legen Sie auf 0 (null).

cbMax

Die maximale Länge in Bytes, der einer Spalte mit variabler Länge oder die tatsächliche Länge in Bytes, der eine Spalte fester Länge.

JET_errInvalidGrbit

Optionen für die Spalte 0 (null) oder mehrere der folgenden Werte.

Wert

Bedeutung

JET_bitColumnFixed

Die Spalte ist fest und nimmt die gleiche Menge an Speicherplatz in einer Zeile, unabhängig davon, wie viele Daten enthält. JET_bitColumnFixed mit JET_bitColumnTagged kombiniert werden kann, und kann nicht verwendet werden, wenn der Member Coltyp , JET_coltypLongText oder JET_coltypLongBinaryfestgelegt ist.

JET_bitColumnTagged

Die Spalte wird markiert und belegt Speicherplatz in der Datenbank nur, wenn sie Daten enthält. JET_bitColumnTagged kann nicht mit JET_bitColumnFixed, JET_bitColumnVersion oder JET_bitColumnEscrowUpdate kombiniert werden.

JET_bitColumnNotNULL

Die Spalte darf nicht auf einen NULL -Wert gesetzt werden.

JET_bitColumnNotNULL kann nicht mit JET_bitColumnUserDefinedDefault kombiniert werden.

JET_bitColumnVersion

Die Spalte ist eine Spalte Version, die Version der Zeile angibt. Der Wert dieser Spalte beginnt bei 0 (null) und wird bei jeder Aktualisierung der Zeile automatisch erhöht.

JET_bitColumnVersion kann verwendet werden, nur, wenn der Coltyp -Member auf JET_coltypLong festgelegt ist und nicht mit JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate, JET_bitColumnTagged oder JET_bitColumnUserDefinedDefault kombiniert werden.

JET_bitColumnAutoincrement

Die Spalte wird automatisch erhöht. Die Anzahl ist immer mehr und garantiert innerhalb einer Tabelle eindeutig sein. Die Zahlen können jedoch nicht sequenzielle sein. Z. B. kann fünf Zeilen in eine Tabelle eingefügt werden, automatisch inkrementierte Spalte die Werte {1, 2, 6, 7, 8} enthalten.

JET_bitColumnAutoincrement kann verwendet werden, nur, wenn der Member Coltyp , JET_coltypLong oder JET_coltypCurrency festgelegt ist und nicht mit JET_bitColumnEscrowUpdate, JET_bitColumnUserDefinedDefault oder JET_bitColumnVersion kombiniert werden.

Windows 2000:JET_bitColumnVersion kann verwendet werden, nur, wenn der Coltyp -Member auf JET_coltypLongfestgelegt ist.

JET_bitColumnUpdatable

Gilt nur für Aufrufe von JetGetColumnInfo. JET_bitColumnUpdatable kann nicht mit JET_bitColumnUserDefinedDefault kombiniert werden.

JET_bitColumnTTKey

Gültig nur bei Aufrufen von JetOpenTable.

JET_bitColumnTTDescending

Gültig nur bei Aufrufen von JetOpenTempTable.

JET_bitColumnMultiValued

Die Spalte kann mehrwertig sein. Eine mehrwertige Spalte kann keinen, einen oder mehrere Werte zugeordnet haben. Die verschiedenen Werte in einer Spalte mit mehreren Werten werden durch eine Zahl in verschiedenen Strukturen, z. B. JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN, JET_ENUMCOLUMNVALUEder ItagSequence Member identifiziert. Mehrwertige Spalten muß markierte Spalten. können sie keine Spalten fester oder variabler Länge ist.

JET_bitColumnEscrowUpdate

Gibt an, dass eine Spalte eine Spalte der Treuhandservice aktualisieren kann gleichzeitig von verschiedenen Sitzungen mit JetEscrowUpdate aktualisiert werden und müssen die Transaktionskonsistenz.

  • Eine Spalte des Treuhandservice aktualisieren kann erstellt werden, nur, wenn die Tabelle leer ist.

  • Für eine Aktualisierung Escrow-Spalte der Coltyp -Member festgelegt werden muss JET_coltypLong.

  • Eine Spalte des Treuhandservice aktualisieren muss einen Standardwert verfügen (d. h., dass CbDefault muss positiv sein).

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

JET_bitColumnUnversioned

Die Spalte wird ohne eine Versionsnummer erstellt. Dies bedeutet, dass andere Transaktionen, die eine Spalte mit dem gleichen Namen hinzufügen fehl. JET_bitColumnUnversioned ist nur mit JetAddColumnverwendet. Er kann nicht innerhalb einer Transaktion verwendet werden.

JET_bitColumnMaybeNull

Für die zukünftige Verwendung reserviert.

JET_bitColumnMaybeNull kann nicht mit JET_bitColumnUserDefinedDefault kombiniert werden.

JET_bitColumnFinalize

Verwenden Sie nicht. Verwenden Sie stattdessen JET_bitColumnDeleteOnZero.

Die Spalte kann abgeschlossen werden. Eine Spalte, die abgeschlossen werden kann ist eine Spalte der Escrow-Aktualisierung, die bewirkt, die Zeile dass gelöscht werden, wenn die Spalte 0 (null) erreicht. In zukünftigen Versionen können eine Callback-Funktion stattdessen aufgerufen (siehe JET_CALLBACK). Eine Spalte, die abgeschlossen werden kann muss ein Treuhandservice Update-Spalte sein. JET_bitColumnFinalize kann nicht mit JET_bitColumnUserDefinedDefault kombiniert werden.

JET_bitColumnUserDefinedDefault

Der Standardwert für eine Spalte wird durch eine Funktion zur Verfügung gestellt. Finden Sie unter JET_CALLBACK. Eine Spalte mit benutzerdefinierten Standardwert muss eine markierte Spalte sein. Wenn JET_bitColumnUserDefinedDefault angegeben ist, muss die PvDefault auf eine JET_USERDEFINEDDEFAULT -Struktur zeigen und CbDefault Sizeof (JET_USERDEFINEDDEFAULT) festgelegt werden müssen.

JET_bitColumnUserDefinedDefault kann 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 ein Treuhandservice-Aktualisierungsspalte, und wenn er 0 erreicht, wird der Datensatz gelöscht. Spalten löschen auf NULL wird häufig als Verweis Anzahl Felder. Wenn die Anzahl der Verweise auf Null fallen, wird der Datensatz gelöscht. Eine Spalte löschen auf 0 muss ein Treuhandservice Update-Spalte sein.

JET_bitColumnDeleteOnZero ersetzt JET_bitColumnFinalize.

JET_bitColumnDeleteOnZero mit JET_bitColumnFinalize oder JET_bitColumnUserDefinedDefault kombiniert werden kann, und nicht mit benutzerdefinierten Spalten verwendet werden.

szBaseTableName

Die Tabelle aus der aktuelle Tabelle die DDL erbt.

szBaseColumnName

Der Name der Spalte in der Vorlagentabelle.

Anmerkungen

JET_COLUMNBASE umfasst einen großen Teil dieselben Informationen wie JET_COLUMNDEF, aber es fügt Zeichenfolgenfelder zur Basistabelle Beschreibung (falls ein hierarchischer DDL verwendet wurde).

Voraussetzungen

-Client,

Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.

Server

Erfordert WindowsServer 2008, WindowsServer 2003 oder Windows 2000 Server.

Kopfzeile

In Esent.h deklariert.

Unicode

Implementiert als JET_COLUMNBASE_W (Unicode) und JET_COLUMNBASE_A (ANSI).

Siehe auch

JET_CALLBACK
JET_COLTYP
JET_COLUMNDEF
JET_COLUMNID
JET_GRBIT
JET_SESID
JET_TABLEID
JET_USERDEFINEDDEFAULT
JetGetColumnInfo
JetGetTableColumnInfo
JetRenameColumn