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:

  • È possibile creare una colonna di aggiornamento di escrow solo quando la tabella è vuota.

  • Una colonna di aggiornamento di escrow deve essere di tipo JET_coltypLong.

  • Una colonna di aggiornamento di escrow deve avere un valore predefinito , ovvero cbDefault deve essere positivo.

  • JET_bitColumnEscrowUpdate non può essere usato insieme a JET_bitColumnTagged, JET_bitColumnVersion o JET_bitColumnAutoincrement.

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_bitColumnUserDefinedDefault non può essere usato insieme a 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 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