Struttura JET_COLUMNBASE
Si applica a: Windows | Windows Server
Struttura JET_COLUMNBASE
La struttura JET_COLUMNBASE descrive i parametri di una colonna di base. Le funzioni JetGetColumnInfo e JetGetTableColumnInfo usano la struttura JET_COLUMNBASE .
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;
Membri
cbStruct
Dimensioni di questa struttura, in byte. Impostare cbStruct su sizeof( JET_COLUMNBASE ).
columnid
Riservato. Impostare columnid su 0 (zero).
coltyp
Tipo della colonna , ad esempio testo, binario o numerico. Per altre informazioni, vedere JET_COLTYP.
wCountry
Riservato. Impostare su 0 (zero).
langid
Riservato. Impostare su 0 (zero).
cp
Tabella codici per la colonna. Gli unici valori validi per le colonne di testo sono inglese (1252) e Unicode (1200). Il valore zero indica che verrà usato il valore predefinito (inglese, 1252). Se la colonna non è una colonna di testo, la tabella codici viene impostata automaticamente su zero.
wFiller
Riservato. Impostare su 0 (zero).
cbMax
Lunghezza massima, in byte, di una colonna a lunghezza variabile o della lunghezza effettiva, in byte, di una colonna a lunghezza fissa.
grbit
Opzioni per la colonna, inclusi zero o più dei valori seguenti.
Valore |
Significato |
---|---|
JET_bitColumnFixed |
La colonna è fissa e occupa la stessa quantità di spazio in una riga indipendentemente dalla quantità di dati che contiene. JET_bitColumnFixed non può essere combinato con JET_bitColumnTagged e non può essere utilizzato quando il membro coltyp è impostato su JET_coltypLongText o JET_coltypLongBinary. |
JET_bitColumnTagged |
La colonna è contrassegnata e occupa spazio nel database solo se contiene dati. JET_bitColumnTagged non può essere combinato con JET_bitColumnFixed, JET_bitColumnVersion o JET_bitColumnEscrowUpdate. |
JET_bitColumnNotNULL |
La colonna non deve essere impostata su un valore NULL . JET_bitColumnNotNULL non può essere combinato con JET_bitColumnUserDefinedDefault. |
JET_bitColumnVersion |
La colonna è una colonna della versione che specifica la versione della riga. Il valore di questa colonna inizia da zero e viene incrementato automaticamente per ogni aggiornamento della riga. JET_bitColumnVersion può essere utilizzato solo quando il membro coltyp è impostato su JET_coltypLong e non può essere combinato con JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate, JET_bitColumnTagged o JET_bitColumnUserDefinedDefault. |
JET_bitColumnAutoincrement |
La colonna viene incrementata automaticamente. Il numero è un numero crescente ed è garantito che sia univoco all'interno di una tabella. I numeri, tuttavia, potrebbero non essere sequenziali. Ad esempio, se in una tabella vengono inserite cinque righe, la colonna incrementata automaticamente potrebbe contenere i valori { 1, 2, 6, 7, 8 }. JET_bitColumnAutoincrement può essere utilizzato solo quando il membro coltyp è impostato su JET_coltypLong o JET_coltypCurrency e non può essere combinato con JET_bitColumnEscrowUpdate, JET_bitColumnUserDefinedDefault o JET_bitColumnVersion. Windows 2000: JET_bitColumnVersion può essere utilizzato solo quando il membro coltyp è impostato su JET_coltypLong. |
JET_bitColumnUpdatable |
Valido solo per le chiamate a JetGetColumnInfo. JET_bitColumnUpdatable non può essere combinato con JET_bitColumnUserDefinedDefault. |
JET_bitColumnTTKey |
Valido solo per le chiamate a JetOpenTable. |
JET_bitColumnTTDescending |
Valido solo per le chiamate a JetOpenTempTable. |
JET_bitColumnMultiValued |
La colonna può essere multivalore. Una colonna multivalore può avere zero, uno o più valori associati. I vari valori in una colonna multivalore sono identificati da un numero nel membro itagSequence di varie strutture, ad esempio JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN JET_ENUMCOLUMNVALUE. Le colonne multivalore devono essere contrassegnate come colonne; ovvero, potrebbero non essere colonne a lunghezza fissa o a lunghezza variabile. |
JET_bitColumnEscrowUpdate |
Specifica che una colonna è una colonna di aggiornamento deposito che può essere aggiornata simultaneamente da sessioni diverse con JetEscrowUpdate e avrà coerenza transazionale.
|
JET_bitColumnUnversioned |
La colonna viene creata senza un numero di versione. Ciò significa che le altre transazioni che tentano di aggiungere una colonna con lo stesso nome avranno esito negativo. JET_bitColumnUnversioned viene usato solo con JetAddColumn. Non può essere utilizzata all'interno di una transazione. |
JET_bitColumnMaybeNull |
Riservato per utilizzi futuri. JET_bitColumnMaybeNull non può essere combinato con JET_bitColumnUserDefinedDefault. |
JET_bitColumnFinalize |
Non usare. Usare invece JET_bitColumnDeleteOnZero. La colonna può essere finalizzata. Una colonna che può essere finalizzata è una colonna di aggiornamento deposito che causa l'eliminazione della riga quando la colonna raggiunge zero. Le versioni future possono invece richiamare una funzione di callback (vedere JET_CALLBACK). Una colonna che può essere finalizzata deve essere una colonna di aggiornamento del deposito. JET_bitColumnFinalize non può essere combinato con JET_bitColumnUserDefinedDefault. |
JET_bitColumnUserDefinedDefault |
Il valore predefinito per una colonna verrà fornito da una funzione di callback. Vedere JET_CALLBACK. Una colonna con un valore predefinito definito dall'utente deve essere una colonna con tag. Se viene specificato JET_bitColumnUserDefinedDefault, il valore pvDefault deve puntare a una struttura JET_USERDEFINEDDEFAULT e cbDefault deve essere impostato su sizeof( JET_USERDEFINEDDEFAULT ). JET_bitColumnUserDefinedDefault non può essere combinato con JET_bitColumnFixed, JET_bitColumnNotNULL, JET_bitColumnVersion, JET_bitColumnAutoincrement, JET_bitColumnUpdatable, JET_bitColumnEscrowUpdate, JET_bitColumnFinalize, JET_bitColumnDeleteOnZero o JET_bitColumnMaybeNull. |
JET_bitColumnDeleteOnZero |
La colonna è una colonna di aggiornamento deposito e quando raggiunge zero, il record verrà eliminato. Un uso comune per le colonne delete-on-zero è rappresentato dai campi del conteggio dei riferimenti. Quando il numero di riferimenti scende a zero, il record viene eliminato. Una colonna delete-on-zero deve essere una colonna di aggiornamento deposito. JET_bitColumnDeleteOnZero sostituisce JET_bitColumnFinalize. JET_bitColumnDeleteOnZero non può essere combinato con JET_bitColumnFinalize o JET_bitColumnUserDefinedDefault e non può essere usato con le colonne predefinite definite dall'utente. |
szBaseTableName
Tabella da cui la tabella corrente eredita il relativo DDL.
szBaseColumnName
Nome della colonna nella tabella modello.
Commenti
JET_COLUMNBASE contiene molte delle stesse informazioni di JET_COLUMNDEF, ma aggiunge campi stringa per descrivere la tabella di base (se è stato usato un DDL gerarchico).
Requisiti
Requisito | Valore |
---|---|
Client |
Richiede Windows Vista, Windows XP o Windows 2000 Professional. |
Server |
Richiede Windows Server 2008, Windows Server 2003 o Windows 2000 Server. |
Intestazione |
Dichiarato in Esent.h. |
Unicode |
Implementato come JET_COLUMNBASE_W (Unicode) e JET_COLUMNBASE_A (ANSI). |
Vedere anche
JET_CALLBACK
JET_COLTYP
JET_COLUMNDEF
JET_COLUMNID
JET_GRBIT
JET_SESID
JET_TABLEID
JET_USERDEFINEDDEFAULT
JetGetColumnInfo
JetGetTableColumnInfo
JetRenameColumn