Struttura JET_COLUMNDEF
Si applica a: Windows | Windows Server
Struttura JET_COLUMNDEF
La struttura JET_COLUMNDEF definisce i dati che possono essere archiviati in una colonna.
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;
Membri
cbStruct
Dimensioni della struttura, in byte. Deve essere impostato su sizeof( JET_COLUMNDEF).
columnid
Riservato. columnid deve essere impostato su 0 (zero).
coltyp
Tipo della colonna, ad esempio testo, binario o numerico. Per altre informazioni, vedere JET_COLTYP.
wCountry
Riservato. wCountry deve essere impostato su 0 (zero).
langid
Obsoleta. langid deve essere impostato su 0 (zero).
cp
Tabella codici per la colonna. Gli unici valori validi per le colonne di testo sono inglese (1252) e Unicode (1200). Un valore pari a zero indica che il valore predefinito verrà usato (inglese, 1252). Se la colonna non è una colonna di testo, la tabella codici viene impostata automaticamente su zero.
wCollate
Riservato. wCollate deve essere impostato su 0 (zero).
cbMax
Lunghezza massima, in byte, di una colonna a lunghezza variabile o della lunghezza di una colonna a lunghezza fissa.
grbit
Gruppo di bit che contengono le opzioni da usare per questa chiamata, che includono zero o più dei valori seguenti.
Valore |
Significato |
---|---|
JET_bitColumnFixed |
La colonna verrà fissa. Userà sempre la stessa quantità di spazio in una riga, indipendentemente dalla quantità di dati archiviati nella colonna. JET_bitColumnFixed non può essere usato con JET_bitColumnTagged. Questo bit non può essere usato con valori lunghi , ovvero JET_coltypLongText e JET_coltypLongBinary. |
JET_bitColumnTagged |
La colonna verrà contrassegnata. Le colonne contrassegnate non occupano spazio nel database se non contengono dati. Impossibile usare questo bit con JET_bitColumnFixed. |
JET_bitColumnNotNULL |
La colonna non deve mai essere impostata su un valore NULL. |
JET_bitColumnVersion |
La colonna è una colonna di versione che specifica la versione della riga. Il valore di questa colonna inizia a zero e verrà incrementato automaticamente per ogni aggiornamento nella riga. Questo bit può essere applicato solo alle colonne JET_coltypLong . Impossibile usare questo bit con JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate o JET_bitColumnTagged. |
JET_bitColumnAutoincrement |
La colonna verrà incrementata automaticamente. Il numero è un numero crescente e è garantito essere univoco all'interno di una tabella. I numeri, tuttavia, potrebbero non essere continui. Se ad esempio cinque righe vengono inserite in una tabella, la colonna "autoincrement" potrebbe contenere i valori { 1, 2, 6, 7, 8 }. Questo bit può essere usato solo su colonne di tipo JET_coltypLong o JET_coltypCurrency. Windows 2000: In Windows 2000 questo bit può essere usato solo su colonne di tipo JET_coltypLong. |
JET_bitColumnUpdatable |
Questo bit è valido solo per le chiamate a JetGetColumnInfo. |
JET_bitColumnTTKey |
Questo bit è valido solo per le chiamate a JetOpenTable. |
JET_bitColumnTTDescending |
Questo bit è 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 denominato membro itagSequence, che appartiene a varie strutture, tra cui: JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN e JET_ENUMCOLUMNVALUE. Le colonne multivalore devono essere contrassegnate come colonne; ovvero, non possono essere colonne a lunghezza fissa o a lunghezza variabile. |
JET_bitColumnEscrowUpdate |
Specifica che una colonna è una colonna di aggiornamento di escrow. Una colonna di aggiornamento di escrow può essere aggiornata simultaneamente da sessioni diverse con JetEscrowUpdate e manterrà la coerenza transazionale. Una colonna di aggiornamento di escrow deve soddisfare anche le condizioni seguenti:
|
JET_bitColumnUnversioned |
La colonna verrà creata in un oggetto senza informazioni sulla versione. Ciò significa che altre transazioni che tentano di aggiungere una colonna con lo stesso nome avranno esito negativo. Questo bit è utile solo con JetAddColumn. Non può essere usato all'interno di una transazione. |
JET_bitColumnMaybeNull |
Riservato per utilizzi futuri. |
JET_bitColumnFinalize |
Usare JET_bitColumnDeleteOnZero anziché JET_bitColumnFinalize. JET_bitColumnFinalize che una colonna può essere finalizzata. Quando una colonna che può essere finalizzata ha una colonna di aggiornamento di escrow che raggiunge zero, la riga verrà eliminata. Le versioni future potrebbero invece richiamare una funzione di callback (per altre informazioni, vedere JET_CALLBACK). Una colonna che può essere finalizzata deve essere una colonna di aggiornamento di escrow. JET_bitColumnFinalize non può essere usato con JET_bitColumnUserDefinedDefault. |
JET_bitColumnUserDefinedDefault |
Il valore predefinito per una colonna verrà fornito da una funzione di callback. Vedere JET_CALLBACK. Una colonna con impostazione predefinita definita dall'utente deve essere una colonna contrassegnata. Specificando JET_bitColumnUserDefinedDefault significa che pvDefault deve puntare a una struttura JET_USERDEFINEDDEFAULT e cbDefault deve essere impostato su sizeof( JET_USERDEFINEDDEFAULT ).
|
JET_bitColumnDeleteOnZero |
La colonna è una colonna di aggiornamento di escrow e quando raggiunge zero, il record verrà eliminato. Un uso comune per una colonna che può essere finalizzato consiste nell'usarlo come campo del conteggio dei riferimenti e quando il campo raggiunge zero il record viene eliminato. JET_bitColumnDeleteOnZero è correlato alla JET_bitColumnFinalize. Una colonna Delete-on-zero deve essere una colonna di aggiornamento deposito. JET_bitColumnDeleteOnZero non può essere usato con JET_bitColumnFinalize. JET_bitColumnDeleteOnZero non può essere usato con le colonne predefinite definite dall'utente. |
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. |
Vedere anche
JET_CALLBACK
JET_COLTYP
JET_COLUMNCREATE
JET_COLUMNID
JET_GRBIT
JET_USERDEFINEDDEFAULT
JetAddColumn
JetEscrowUpdate
JetGetTableColumnInfo
JetOpenTempTable
JetOpenTempTable2
JetOpenTempTable3
JetRenameColumn