Struttura JET_COLUMNCREATE
Si applica a: Windows | Windows Server
Struttura JET_COLUMNCREATE
La struttura JET_COLUMNCREATE descrive una colonna da creare in un database.
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;
Membri
cbStruct
Dimensioni della struttura, in byte. Questo campo deve essere inizializzato in sizeof( JET_COLUMNCREATE ).
szColumnName
Nome della colonna da creare. Il nome deve soddisfare i criteri seguenti:
- Deve essere minore di JET_cbNameMost caratteri in lunghezza, non incluso il valore NULL terminante.
- Deve contenere caratteri solo dai set seguenti: da 0 a 9, da A a Z, da z a z e da tutti gli altri punti di punteggiatura tranne per punto esclamativo (!), virgola (),parentesi quadre di apertura ([) e parentesi quadre di chiusura (]), ovvero caratteri ASCII 0x20, 0x22 attraverso 0x2d, 0x2f attraverso 0x5a, 0x5c, 0x5d attraverso 0x7f.
- Non può iniziare con uno spazio.
- Deve contenere almeno un carattere non spazio.
coltyp
Tipo della colonna, ad esempio testo, binario o numerico. Per altre informazioni, vedere JET_COLTYP.
cbMax
Lunghezza massima, in byte, di una colonna a lunghezza variabile. Lunghezza della colonna per le colonne a lunghezza fissa.
grbit
Un gruppo di bit che contengono le opzioni per questa struttura e che includono zero o più dei valori seguenti.
Valore |
Significato |
---|---|
JET_bitColumnFixed |
La colonna è 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, ad esempio JET_coltypLongText e JET_coltypLongBinary. |
JET_bitColumnTagged |
La colonna è 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_bitColumnAutoincrement |
La colonna viene incrementata automaticamente. Il numero è un numero crescente e è garantito essere univoco all'interno di una tabella. Il numero, tuttavia, potrebbe non essere continuo. Se ad esempio cinque righe vengono inserite in una tabella, la colonna autoincrement potrebbe contenere i valori { 1, 2, 6, 7, 8 }. Windows 2000: Questo bit può essere usato solo sulle colonne di tipo JET_coltypLong. Windows Server 2003 e versioni successive: Questo bit può essere usato solo su colonne di tipo JET_coltypLong o JET_coltypCurrency. |
JET_bitColumnUpdatable |
Questo bit è valido solo per le chiamate a JetGetColumnInfo. |
JET_bitColumnTTKey |
Questo bit è valido solo per le chiamate a JetOpenTempTable. |
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 dal 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, non possono essere colonne a lunghezza fissa o a lunghezza variabile. |
JET_bitColumnEscrowUpdate |
La colonna è una colonna di aggiornamento di escrow. Una colonna di aggiornamento di escrow può essere aggiornata simultaneamente da sessioni diverse con JetEscrowUpdate e mantenere la coerenza transazionale.
|
JET_bitColumnUnversioned |
La colonna viene creata senza una versione. 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 specifica 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 possono 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 viene fornito dalla funzione callback, JET_CALLBACK. Una colonna con impostazione predefinita definita dall'utente deve essere una colonna contrassegnata. pvDefault deve puntare a una struttura di JET_USERDEFINEDDEFAULT e cbDefault deve essere impostato su sizeof(JET_USERDEFINEDDEFAULT). JET_bitColumnUserDefinedDefault non può essere usato insieme alle costanti seguenti:
|
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 conteggio 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 di escrow. JET_bitColumnDeleteOnZero non può essere usato con JET_bitColumnFinalize. JET_bitColumnDeleteOnZero non può essere usato con colonne predefinite definite dall'utente. |
pvDefault
Punta a un buffer che sarà il valore predefinito per una colonna. La lunghezza del buffer è cbDefault. Se non esiste un valore predefinito, pvDefault deve essere impostato su NULL e cbDefault deve essere impostato su zero. Se grbit ha JET_bitColumnUserDefinedDefault impostato, pvDefault verrà interpretato come puntatore a una struttura JET_USERDEFINEDDEFAULT. I valori predefiniti non possono essere superiori a 255 byte. Se un valore predefinito è maggiore di 255 byte, verrà troncato in modo silenzioso.
cbDefault
Dimensioni, in byte, del buffer specificato da pvDefault.
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.
columnid
In caso di esito positivo, l'identificatore di colonna della colonna appena creata verrà passato in questo campo. In caso di errore, il valore non è definito.
err
Il campo err conterrà lo stato della creazione di questa colonna. Per un elenco di valori probabilmente restituiti, vedere JetAddColumn .
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_COLUMNCREATE_W (Unicode) e JET_COLUMNCREATE_A (ANSI). |
Vedere anche
JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JET_RETINFO
JET_SETINFO
JET_SETCOLUMN
JET_RETRIEVECOLUMN
JET_ENUMCOLUMNVALUE
JetAddColumn
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetEscrowUpdate
JetRenameColumn
JetSetColumns