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