Condividi tramite


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