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.
|
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_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