Condividi tramite


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.

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

  • Per una colonna di aggiornamento deposito, il membro coltyp deve essere impostato su JET_coltypLong.

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

  • JET_bitColumnEscrowUpdate non può essere combinato con JET_bitColumnTagged, JET_bitColumnVersion o JET_bitColumnAutoincrement.

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