Freigeben über


JET_COLUMNCREATE-Struktur

Letzte Änderung: Freitag, 27. Februar 2015

Gilt für: Windows | Windows Server

JET_COLUMNCREATE-Struktur

Die Struktur JET_COLUMNCREATE beschreibt eine Spalte in einer Datenbank erstellen.

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;

Mitglieder

cbStruct

Die Größe der Struktur in Bytes. Dieses Feld muss mit **Sizeof (JET_COLUMNCREATE)**initialisiert werden.

szColumnName

Der Name der Spalte erstellen. Der Name muss die folgenden Kriterien erfüllen:

  • Es muss weniger als JET_cbNameMost Zeichen Länge ohne das abschließende NULLZEICHEN.
  • Er darf nur aus folgenden Zeichen enthalten: 0-9, A bis Z, a bis z und alle anderen Satzzeichen außer Ausrufezeichen (!), Komma (,), öffnende eckige Klammer ([]) und die schließende Klammer (]), d. h. ASCII-Zeichen 0 x 20, 0 x 22 bis 0x2d, 0x2f durch 0x5a, 0x5c, 0x5d bis 0x7f.
  • Es kann nicht mit einem Leerzeichen beginnen.
  • Es muss mindestens eine nicht-Leerzeichen enthalten.

coltyp

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

cbMax

Die maximale Länge in Byte, der einer Spalte mit variabler Länge. Die Länge der Spalte für Spalten fester Länge.

JET_errInvalidGrbit

Eine Gruppe von Bits, die die Optionen für diese Struktur enthalten und die 0 (null) oder mehreren der folgenden Werte enthalten.

Wert

Bedeutung

JET_bitColumnFixed

Die Spalte wurde behoben. Verwenden sie immer die gleiche Menge an Speicherplatz in einer Zeile, unabhängig davon, wie viele Daten in der Spalte gespeichert werden. JET_bitColumnFixed kann nicht mit JET_bitColumnTagged verwendet werden. Dieses Bit kann mit langen Werten wie JET_coltypLongText und JET_coltypLongBinaryverwendet werden.

JET_bitColumnTagged

Die Spalte wird markiert. Markierte Spalten nehmen Platz in der Datenbank nicht, wenn sie keine Daten enthalten. Dieses Bit kann nicht mit JET_bitColumnFixed verwendet werden.

JET_bitColumnNotNULL

Die Spalte muss niemals auf einen Nullwert festgelegt werden.

JET_bitColumnAutoincrement

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

Windows 2000:Dieses Bit kann nur für Spalten vom Typ JET_coltypLongverwendet werden.

WindowsServer 2003 und höher:Dieses Bit kann nur für Spalten vom Typ JET_coltypLong oder JET_coltypCurrencyverwendet werden.

JET_bitColumnUpdatable

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

JET_bitColumnTTKey

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

JET_bitColumnTTDescending

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

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 von verschiedenen Strukturen, z. B. JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN, JET_ENUMCOLUMNVALUEder ItagSequence Member identifiziert. Mehrwertige Spalten muß markierte Spalten. d. h. sie Spalten fester oder variabler Länge nicht möglich.

JET_bitColumnEscrowUpdate

Die Spalte ist eine Spalte der Treuhandservice aktualisieren. Eine Spalte des Treuhandservice aktualisieren kann gleichzeitig von verschiedenen Sitzungen mit JetEscrowUpdate aktualisiert werden und behalten die Transaktionskonsistenz.

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

  • Eine Treuhandservice Update-Spalte muss vom Typ JET_coltypLong.

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

  • JET_bitColumnEscrowUpdate kann nicht in Verbindung mit den folgenden Konstanten verwendet werden:

    • JET_bitColumnTagged

    • JET_bitColumnVersion

    • JET_bitColumnAutoincrement

JET_bitColumnUnversioned

Die Spalte wird ohne eine Version erstellt. Andere Transaktionen, die eine Spalte mit dem gleichen Namen hinzufügen, schlägt fehl. Dieses Bit ist nur bei JetAddColumnsinnvoll. Er 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 eine Treuhandservice Update-Spalte, die 0 (null) erreicht verfügt, wird die Zeile gelöscht. In zukünftigen Versionen können stattdessen eine Callback-Funktion aufrufen. Weitere Informationen finden Sie unter JET_CALLBACK. Eine Spalte, die abgeschlossen werden kann muss ein Treuhandservice Update-Spalte sein. JET_bitColumnFinalize kann nicht mit JET_bitColumnUserDefinedDefault verwendet werden.

JET_bitColumnUserDefinedDefault

Der Standardwert für eine Spalte wird durch die Callback-Funktion JET_CALLBACKbereitgestellt. Eine Spalte mit benutzerdefinierten Standardwert muss eine markierte Spalte sein. PvDefault auf eine JET_USERDEFINEDDEFAULT -Struktur zeigen und CbDefault Sizeof (JET_USERDEFINEDDEFAULT) festgelegt werden müssen.

JET_bitColumnUserDefinedDefault kann nicht in Verbindung mit den folgenden Konstanten verwendet werden:

  • JET_bitColumnFixed

  • JET_bitColumnNotNULL

  • JET_bitColumnVersion

  • JET_bitColumnAutoincrement

  • JET_bitColumnUpdatable

  • JET_bitColumnEscrowUpdate

  • JET_bitColumnFinalize

  • JET_bitColumnDeleteOnZero

  • JET_bitColumnMaybeNull

JET_bitColumnDeleteOnZero

Die Spalte ist ein Treuhandservice-Aktualisierungsspalte, und wenn er 0 erreicht, wird der Datensatz gelöscht. Eine häufige Verwendung für eine Spalte, die abgeschlossen werden kann ist, verwenden Sie es als Referenzfeld Count und wenn das Feld Null erreicht, die der Datensatz gelöscht wird. JET_bitColumnDeleteOnZero bezieht sich auf JET_bitColumnFinalize. Eine Spalte löschen auf 0 muss ein Treuhandservice Update-Spalte sein. JET_bitColumnDeleteOnZero kann nicht mit JET_bitColumnFinalize verwendet werden. JET_bitColumnDeleteOnZero kann nicht mit benutzerdefinierten Spalten verwendet werden.

pvDefault

Zeigt auf einen Puffer werden der Standardwert für eine Spalte. Die Länge des Puffers ist CbDefault. Wenn kein Standardwert vorhanden ist, sollte die PvDefault auf NULL festgelegt werden und CbDefault auf 0 (null) festgelegt werden. Wenn JET_errInvalidGrbit JET_bitColumnUserDefinedDefault festgelegt wurde, wird als Zeiger auf eine Struktur JET_USERDEFINEDDEFAULT PvDefault interpretiert. Standardwerte können nicht mehr als 255 Byte sein. Wenn ein Wert größer als 255 Byte ist, wird es automatisch abgeschnitten.

cbDefault

Die Größe des von PvDefaultangegebenen Puffers in Bytes.

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, ruft die Codepage automatisch auf 0 (null) festgelegt.

Spalten-ID

Bei Erfolg wird der Spalten-ID der neu erstellten Spalte zurück in diesem Feld übergeben. Bei einem Fehler wird der Wert nicht definiert.

err

Das err- Feld enthält den Status dieser Spalte erstellen. Eine Liste der wahrscheinlichen Rückgabewerte finden Sie unter JetAddColumn .

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_COLUMNCREATE_W (Unicode) und JET_COLUMNCREATE_A (ANSI).

Siehe auch

JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JET_RETINFO
JET_SETINFO
JET_SETCOLUMN
JET_RETRIEVECOLUMN
JET_ENUMCOLUMNVALUE
JetAddColumn
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetEscrowUpdate
JetRenameColumn
JetSetColumns