Structure JET_TABLECREATE2
S’applique à : Windows | Windows Server
Structure JET_TABLECREATE2
La structure JET_TABLECREATE2 contient les informations nécessaires pour créer une table remplie de colonnes et d’index dans une base de données ESE, et qui désigne une fonction de rappel. La structure JET_TABLECREATE2 est utilisée par JetCreateTableColumnIndex2.
Windows XP : La structure JET_TABLECREATE2 est introduite dans 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;
Membres
cbStruct
Taille de cette structure en octets (pour l’extension future). Il doit être défini sur sizeof( JET_TABLECREATE2 ) en octets.
szTableName
Nom de la table à créer.
Le nom doit utiliser les conditions suivantes :
- Avoir une valeur inférieure à JET_cbNameMost, sans compter la valeur NULL de fin.
- Se composent de l’ensemble de caractères suivant : 0 à 9, A à Z, a à z et toutes les autres ponctuations à l’exception du point d’exclamation (!), virgule (,), crochet ouvrant ([) et crochet fermant (]), c’est-à-dire caractères ASCII 0x20, 0x22 à 0x2d, 0x2f via 0x5a, 0x5c et 0x5d via 0x7f.
- Ne commence pas par un espace.
- Se composent d’au moins un caractère autre que l’espace.
szTemplateTableName
Nom d’une table déjà existante à partir de laquelle hériter de base DDL (Data Definition Language). L’utilisation d’un tableau 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 table, en points de pourcentage. Le nombre doit être 0 ou dans la plage de 20 à 100. Passer 0 signifie que la valeur par défaut doit être utilisée. La valeur par défaut est 80.
rgcolumncreate
Tableau de structures JET_COLUMNCREATE , chacune correspondant à une colonne à créer dans la nouvelle table.
cColumns
nombre d’éléments JET_COLUMNCREATE dans rgcolumncreate.
rgindexcreate
Tableau de structures JET_INDEXCREATE , chacune correspondant à un index à créer dans la nouvelle table.
cIndexes
Nombre d’éléments JET_INDEXCREATE dans rgindexcreate.
szCallback
Fonction appelée pendant certains événements. cbtyp détermine quand la fonction de rappel sera appelée.
Le format de szCallback doit être « module!function », par exemple, « alpha!beta » fait référence à la fonction bêta dans le module nommé « alpha ». Le prototype de la fonction doit correspondre à JET_CALLBACK. Pour plus d’informations, consultez 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’un ou plusieurs des bits suivants.
Valeur |
Signification |
---|---|
JET_cbtypFinalize |
La fonction de rappel est appelée lorsqu’une colonne pouvant ê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 sera appelée une fois que le moteur de base de données aura terminé d’insérer un enregistrement. |
JET_cbtypBeforeReplace |
La fonction de rappel sera appelée avant la modification d’un enregistrement. |
JET_cbtypAfterReplace |
La fonction de rappel sera appelée après avoir terminé 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 sera 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_cbtypOnlineDefragCompleted |
La fonction de rappel sera appelée une fois qu’un appel à JetDefragment2 est terminé. |
JET_cbtypFreeCursorLS |
La fonction de rappel est appelée lorsque le stockage local associé à un curseur doit être libéré. |
JET_cbtypFreeTableLS |
La fonction de rappel est appelée lorsque le stockage local associé à une table doit être libéré. |
grbit
Groupe de bits qui contiennent les options de cet appel, qui incluent zéro ou plusieurs des valeurs suivantes.
Valeur |
Signification |
---|---|
JET_bitTableCreateFixedDDL |
La définition de JET_bitTableCreateFixedDDL empêche les opérations DDL sur la table (telles que l’ajout ou la suppression de colonnes). |
JET_bitTableCreateTemplateTable |
Si vous définissez JET_bitTableCreateTemplateTable, la table est un modèle de table. 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. |
tableid
Champ de sortie qui contient le JET_TABLEID de la nouvelle table si l’appel d’API réussit. Si l’appel d’API échoue, la valeur n’est pas définie.
cCréated
Champ de sortie qui contient le nombre d’objets créés si l’appel d’API réussit. 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.
Spécifications
Condition requise | Valeur |
---|---|
Client |
Nécessite Windows Vista ou Windows XP. |
Serveur |
Nécessite Windows Server 2008 ou Windows Server 2003. |
En-tête |
Déclaré dans Esent.h. |
Unicode |
Implémenté en tant que JET_TABLECREATE2_W (Unicode) et JET_TABLECREATE2_A (ANSI). |
Voir aussi
JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2