Struttura JET_TABLECREATE2
Si applica a: Windows | Windows Server
Struttura JET_TABLECREATE2
La struttura JET_TABLECREATE2 contiene le informazioni necessarie per creare una tabella popolata con colonne e indici in un database ESE e che designa una funzione di callback. La struttura JET_TABLECREATE2 viene usata da JetCreateTableColumnIndex2.
Windows XP: La struttura JET_TABLECREATE2 è introdotta in Windows XP.
typedef struct tagJET_TABLECREATE2 {
unsigned long cbStruct;
tchar* szTableName;
tchar* szTemplateTableName;
unsigned long ulPages;
unsigned long ulDensity;
JET_COLUMNCREATE* rgcolumncreate;
unsigned long cColumns;
JET_INDEXCREATE* rgindexcreate;
unsigned long cIndexes;
tchar* szCallback;
JET_CBTYP cbtyp;
JET_GRBIT grbit;
JET_TABLEID tableid;
unsigned long cCreated;
} JET_TABLECREATE2;
Membri
cbStruct
Dimensioni di questa struttura in byte (per l'espansione futura). Deve essere impostato su sizeof( JET_TABLECREATE2 ) in byte.
szTableName
Nome della tabella da creare.
Il nome deve usare per soddisfare le condizioni seguenti:
- Avere un valore minore di JET_cbNameMost, senza includere null di terminazione.
- Sono costituiti dal seguente set di caratteri: da 0 a 9, da A a Z, da a z e da tutte le altre punteggiatura ad eccezione del punto esclamativo (!), della virgola (,), della parentesi quadra di apertura ([) e della parentesi chiusa (]), ovvero caratteri ASCII 0x20, 0x22 tramite 0x2d, 0x2f tramite 0x5a, 0x5c e 0x5d tramite 0x7f.
- Non iniziare con uno spazio.
- È costituito da almeno un carattere diverso da uno spazio.
szTemplateTableName
Nome di una tabella già esistente da cui ereditare DDL di base (Data Definition Language). L'uso di una tabella modello consente di creare facilmente 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, è possibile ridurre la frammentazione se vengono inserite molte righe in questa tabella.
ulDensity
Densità della tabella, espressa in punti percentuali. Il numero deve essere 0 o compreso nell'intervallo compreso tra 20 e 100. Se si passa 0, 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 in rgcolumncreate.
rgindexcreate
Matrice di strutture JET_INDEXCREATE , ognuna delle quali corrisponde a un indice da creare nella nuova tabella.
cIndexes
Numero di elementi JET_INDEXCREATE in 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 "alpha!beta" fa riferimento alla funzione beta nel modulo denominato "alpha". Il prototipo della funzione deve corrispondere JET_CALLBACK. Per altre informazioni, vedere JET_CALLBACK.
cbtyp
Descrive il tipo di funzione di callback designata da szCallback. Per altre informazioni, vedere JET_CBTYP. Questo campo di bit è composto da uno o più dei bit seguenti.
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 al termine dell'inserimento di un record da parte del motore di database. |
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_cbtypOnlineDefragCompleted |
La funzione di callback verrà chiamata dopo il completamento di una chiamata a JetDefragment2 . |
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
Gruppo di bit che contengono le opzioni per questa chiamata, che includono zero o più dei valori seguenti.
Valore |
Significato |
---|---|
JET_bitTableCreateFixedDDL |
L'impostazione di JET_bitTableCreateFixedDDL impedisce operazioni DDL nella tabella, ad esempio l'aggiunta o la rimozione di colonne. |
JET_bitTableCreateTemplateTable |
L'impostazione di JET_bitTableCreateTemplateTable fa sì 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 utilizzato in combinazione con JET_bitTableCreateTemplateTable. Deprecato. Non usare. |
tableid
Campo di output che contiene il JET_TABLEID della nuova tabella se la chiamata API ha esito positivo. Se la chiamata API non riesce, il valore non è definito.
cCreated
Campo di output contenente il numero di oggetti creati se la chiamata API ha esito positivo. Se la chiamata API non riesce, 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 |
Implementata come JET_TABLECREATE2_W (Unicode) e JET_TABLECREATE2_A (ANSI). |
Vedere anche
JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2