Struttura JET_TABLECREATE3
Si applica a: Windows | Windows Server
La struttura JET_TABLECREATE3 contiene le informazioni necessarie per creare una tabella popolata con colonne e indici in un database ESE (Extensible Storage Engine) e che definisce una funzione di callback. La struttura JET_TABLECREATE3 viene usata dalla funzione JetCreateTableColumnIndex3 .
La struttura JET_TABLECREATE3 è stata introdotta nel sistema operativo Windows 7.
typedef struct tagJET_TABLECREATE3 {
unsigned long cbStruct;
tchar* szTableName;
tchar* szTemplateTableName;
unsigned long ulPages;
unsigned long ulDensity;
JET_COLUMNCREATE* rgcolumncreate;
unsigned long cColumns;
JET_INDEXCREATE2* rgindexcreate;
unsigned long cIndexes;
tchar* szCallback;
JET_CBTYP cbtyp;
JET_GRBIT grbit;
JET_TABLEID tableid;
un JET_GRBIT grbit;
JET_SPACEHINTS* pSeqSpacehints;
JET_SPACEHINTS* pLVSpacehints;
unsigned long cbSeparateLV;
JET_TABLEID tableid;
unsigned long cCreated;
} JET_TABLECREATE3;>
Membri
cbStruct
Dimensioni di questa struttura in byte (per l'espansione futura). Deve essere impostato su sizeof( JET_TABLECREATE3 ) in byte.
szTableName
Nome della tabella da creare.
Il nome deve soddisfare le condizioni seguenti:
Deve avere un valore minore di JET_cbNameMost, non incluso il valore null terminante.
Deve essere costituito dal set di caratteri seguente: da 0 a 9, da A a Z, da z a z e da tutte le altre punteggiatura ad eccezione del punto esclamativo (!), virgola (,), parentesi quadre di apertura ([) e parentesi quadre di chiusura (]); ovvero i caratteri ASCII 0x20, 0x22 attraverso 0x2d, 0x2f attraverso 0x5a, 0x5c e 0x5d tramite 0x7f.
Non deve iniziare con uno spazio.
Deve essere costituito da almeno un carattere non spazio.
szTemplateTableName
Nome di una tabella esistente da cui ereditare il linguaggio DDL (Base Data Definition Language). L'uso di una tabella modello consente la facile creazione di molte tabelle con colonne e indici identici.
ulPages
Numero iniziale di pagine di database da allocare per la tabella. Specificando un numero maggiore di uno può ridurre la frammentazione se in questa tabella vengono inserite molte righe.
ulDensity
Densità della tabella, in punti percentuali. Il numero deve essere 0 o nell'intervallo compreso tra 20 e 100. Il passaggio di 0 significa che il valore predefinito deve essere usato. Il valore predefinito è 80.
rgcolumncreate
Matrice di strutture JET_COLUMNCREATE , ognuna delle quali corrisponde a una colonna da creare nella nuova tabella.
cColumns
Numero di elementi JET_COLUMNCREATE nel parametro rgcolumncreate .
rgindexcreate
Matrice di strutture JET_INDEXCREATE2 , ognuna delle quali corrisponde a un indice da creare nella nuova tabella.
cIndexes
Numero di elementi JET_INDEXCREATE2 nel parametro rgindexcreate .
szCallback
Funzione che viene chiamata durante determinati eventi. cbtyp determina quando verrà chiamata la funzione di callback.
Il formato di szCallback deve essere "module!function", ad esempio "alfa!beta" fa riferimento alla funzione beta nel modulo denominato "alfa".
Il prototipo della funzione deve corrispondere alla funzione di callback JET_CALLBACK .
cbtyp
Descrive il tipo di funzione callback designata da szCallback. Per altre informazioni, vedere JET_CBTYP.
Questo campo di bit è costituito da uno o più valori di bit elencati nella tabella seguente.
Valore |
Significato |
---|---|
JET_cbtypFinalize |
La funzione di callback verrà chiamata quando una colonna che può essere finalizzata è passata a zero. |
JET_cbtypBeforeInsert |
La funzione di callback verrà chiamata prima dell'inserimento di record. |
JET_cbtypAfterInsert |
La funzione di callback verrà chiamata dopo che il motore di database ha completato l'inserimento di un record. |
JET_cbtypBeforeReplace |
La funzione di callback verrà chiamata prima della modifica di un record. |
JET_cbtypAfterReplace |
La funzione di callback verrà chiamata dopo aver completato la modifica di un record. |
JET_cbtypBeforeDelete |
La funzione di callback verrà chiamata prima dell'eliminazione di un record. |
JET_cbtypAfterDelete |
La funzione di callback verrà chiamata dopo l'eliminazione di un record. |
JET_cbtypUserDefinedDefaultValue |
La funzione di callback verrà chiamata per calcolare un valore predefinito definito dall'utente. |
JET_cbtypFreeCursorLS |
La funzione di callback verrà chiamata quando l'archiviazione locale associata a un cursore deve essere liberata. |
JET_cbtypFreeTableLS |
La funzione di callback verrà chiamata quando l'archiviazione locale associata a una tabella deve essere liberata. |
grbit
Un gruppo di bit che contiene zero o più valori dell'opzione di chiamata elencati nella tabella seguente.
Valore |
Significato |
---|---|
JET_bitTableCreateFixedDDL |
Impedisce operazioni DDL sulla tabella, ad esempio l'aggiunta o la rimozione di colonne. |
JET_bitTableCreateTemplateTable |
Determina che la tabella sia una tabella modello. Le nuove tabelle possono quindi specificare il nome di questa tabella come tabella modello. L'impostazione JET_bitTableCreateTemplateTable implica JET_bitTableCreateFixedDDL. |
JET_bitTableCreateNoFixedVarColumnsInDerivedTables |
Deve essere usato in combinazione con JET_bitTableCreateTemplateTable. Deprecato. Non usare. |
pSeqSpacehints
Puntatore a una struttura JET_SPACEHINTS per l'indice sequenziale predefinito.
pSeqSpacehints è stato introdotto in Windows 7.
pLVSpacehints
Puntatore a una struttura JET_SPACEHINTS per un albero Long Value separato.
pLVSpacehints è stato introdotto in Windows 7.
cbSeparateLV
Dimensioni da separare un LV intrinseco dal record primario. Qualsiasi struttura c a valore lungo per un albero LV separato. Per altre informazioni, vedere ng-value in JET_SPACEHINTS. Le colonne con valore lungo più piccole di questo valore possono essere separate se il record diventa troppo grande.
cbSeparateLV è stato introdotto in Windows 7.
tableid
Campo di output che contiene la JET_TABLEID della nuova tabella se la chiamata API ha esito positivo. Se la chiamata API ha esito negativo, il valore non è definito. Questa tabella viene aperta esclusivamente.
cCreated
Campo di output contenente il numero di oggetti creati se la chiamata API ha esito positivo. Se la chiamata API ha esito negativo, il valore non è definito.
Il numero di oggetti creati è uguale alla somma di colonne, tabelle e indici creati correttamente.
Requisiti
Requisito | Valore |
---|---|
Client |
Richiede Windows Vista o Windows XP. |
Server |
Richiede Windows Server 2008 o Windows Server 2003. |
Intestazione |
Dichiarato in Esent.h. |
Unicode |
Implementato come JET_TABLECREATE3_W (Unicode) e JET_TABLECREATE3_A (ANSI). |
Vedi anche
JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2