Structure JET_TABLECREATE3
S’applique à : Windows | Windows Serveurs
la structure JET_TABLECREATE3 contient les informations nécessaires pour créer une table remplie avec des colonnes et des index dans une base de données ESE (Extensible Stockage Engine) et qui désigne une fonction de rappel. La structure JET_TABLECREATE3 est utilisée par la fonction JetCreateTableColumnIndex3 .
la structure JET_TABLECREATE3 a été introduite dans le système d’exploitation 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;>
Membres
cbStruct
Taille de cette structure en octets (pour une extension future). Elle doit être définie sur sizeof (JET_TABLECREATE3) en octets.
szTableName
Nom de la table à créer.
Le nom doit remplir les conditions suivantes :
Elle doit avoir une valeur inférieure à JET_cbNameMost, à l’exclusion de la valeur null de fin.
Il doit se composer du jeu de caractères suivant : de 0 à 9, de A à Z, de a à z et de toute autre ponctuation, à l’exception du point d’exclamation ( ! ), de la virgule (,), du crochet ouvrant ( [ ) et du crochet fermant ( ] ), c’est-À-dire des caractères ASCII 0x20, 0X22 à 0x2D, 0x2F à 0x5A, 0x5c et 0x5d à 0x7F
Il ne doit pas commencer par un espace.
Il doit comporter au moins un caractère autre qu’un espace.
szTemplateTableName
Nom d’une table existante à partir de laquelle hériter le langage de définition de données (DDL) de base. L’utilisation d’une table de modèle permet de créer facilement de nombreuses tables avec des colonnes et des index identiques.
ulPages
Nombre initial de pages de base de données à allouer pour la table. La spécification d’un nombre supérieur à un peut réduire la fragmentation si de nombreuses lignes sont insérées dans cette table.
ulDensity
Densité de la table, en points de pourcentage. Le nombre doit être égal à 0 ou compris entre 20 et 100. Le passage de 0 signifie que la valeur par défaut doit être utilisée. La valeur par défaut est 80.
rgcolumncreate
Tableau de structures de JET_COLUMNCREATE , chacune d’elles correspondant à une colonne à créer dans la nouvelle table.
cColumns
Nombre d’éléments JET_COLUMNCREATE dans le paramètre rgcolumncreate .
rgindexcreate
Tableau de structures de JET_INDEXCREATE2 , chacune d’elles correspondant à un index à créer dans la nouvelle table.
cIndexes
Nombre d’éléments JET_INDEXCREATE2 dans le paramètre rgindexcreate .
szCallback
Fonction qui est appelée pendant certains événements. cbtyp détermine le moment où la fonction de rappel sera appelée.
Le format de szCallback doit être « fonction de module ! », par exemple, « alpha ! bêta » fait référence à la fonction bêta dans le module nommé « alpha ».
Le prototype de la fonction doit correspondre à la fonction de rappel JET_CALLBACK .
cbtyp
Décrit le type de fonction de rappel désigné par szCallback. Pour plus d’informations, consultez JET_CBTYP.
Ce champ de bits est composé d’une ou plusieurs des valeurs de bit listées dans le tableau suivant.
Valeur |
Signification |
|---|---|
JET_cbtypFinalize |
La fonction de rappel est appelée lorsqu’une colonne qui peut être finalisée est passée à zéro. |
JET_cbtypBeforeInsert |
La fonction de rappel sera appelée avant l’insertion de l’enregistrement. |
JET_cbtypAfterInsert |
La fonction de rappel est appelée une fois que le moteur de base de données a terminé l’insertion d’un enregistrement. |
JET_cbtypBeforeReplace |
La fonction de rappel sera appelée avant la modification d’un enregistrement. |
JET_cbtypAfterReplace |
La fonction de rappel est appelée après la fin de la modification d’un enregistrement. |
JET_cbtypBeforeDelete |
La fonction de rappel sera appelée avant la suppression d’un enregistrement. |
JET_cbtypAfterDelete |
La fonction de rappel est appelée après la suppression d’un enregistrement. |
JET_cbtypUserDefinedDefaultValue |
La fonction de rappel sera appelée pour calculer une valeur par défaut définie par l’utilisateur. |
JET_cbtypFreeCursorLS |
La fonction de rappel sera appelée lorsque le stockage local qui est associé à un curseur doit être libéré. |
JET_cbtypFreeTableLS |
La fonction de rappel sera appelée lorsque le stockage local qui est associé à une table doit être libéré. |
grbit
Groupe de bits qui contient zéro, une ou plusieurs des valeurs d’option d’appel énumérées dans le tableau suivant.
Valeur |
Signification |
|---|---|
JET_bitTableCreateFixedDDL |
Empêche les opérations DDL sur la table (telles que l’ajout ou la suppression de colonnes). |
JET_bitTableCreateTemplateTable |
Indique que la table est une table de modèles. Les nouvelles tables peuvent ensuite spécifier le nom de cette table comme table de modèle. La définition de JET_bitTableCreateTemplateTable implique JET_bitTableCreateFixedDDL. |
JET_bitTableCreateNoFixedVarColumnsInDerivedTables |
Doit être utilisé conjointement avec JET_bitTableCreateTemplateTable. Obsolète. Ne pas utiliser. |
pSeqSpacehints
Pointeur vers une structure JET_SPACEHINTS pour l’index séquentiel par défaut.
pSeqSpacehints a été introduite dans Windows 7.
pLVSpacehints
Pointeur vers une structure JET_SPACEHINTS pour une arborescence de valeurs longues séparée.
pLVSpacehints a été introduite dans Windows 7.
cbSeparateLV
Taille à laquelle séparer un LV intrinsèque de l’enregistrement principal. Toute structure c à valeurs longues pour une arborescence LV séparée. Pour plus d’informations, consultez ng-value in JET_SPACEHINTS. Les colonnes de valeur longue inférieures à cette valeur peuvent être séparées si l’enregistrement devient trop volumineux.
cbSeparateLV a été introduite dans Windows 7.
TableID
Champ de sortie qui contient le JET_TABLEID de la nouvelle table si l’appel d’API a échoué. Si l’appel d’API échoue, la valeur n’est pas définie. Cette table est ouverte exclusivement.
Encore
Champ de sortie qui contient le nombre d’objets qui sont créés si l’appel d’API a échoué. Si l’appel d’API échoue, la valeur n’est pas définie.
Le nombre d’objets créés est égal à la somme des colonnes, des tables et des index qui ont été créés avec succès.
Configuration requise
| | |
Client
|requiert Windows Vista ou Windows XP.
| |Serveur
|requiert Windows server 2008 ou Windows server 2003.
| |En-tête
|Déclaré dans esent. h.
| |Unicode
|Implémenté comme JET_TABLECREATE3_W (Unicode) et JET_TABLECREATE3_A (ANSI).
|Voir aussi
JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2