Partager via


Structure JET_TABLECREATE

S’applique à : Windows | Windows Server

Structure JET_TABLECREATE

La structure JET_TABLECREATE contient les informations nécessaires pour créer une table remplie avec des colonnes et des index dans une base de données ESE. La structure JET_TABLECREATE est utilisée par JetCreateTableColumnIndex

    typedef struct tagJET_TABLECREATE {
      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;
      JET_GRBIT grbit;
      JET_TABLEID tableid;
      unsigned long cCreated;
    } JET_TABLECREATE;

Membres

cbStruct

Taille de cette structure en octets (pour l’extension future). Il doit être défini sur sizeof( JET_TABLECREATE ) 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.

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

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, Windows XP ou Windows 2000 Professionnel.

Serveur

Nécessite Windows Server 2008, Windows Server 2003 ou Windows 2000 Server.

En-tête

Déclaré dans Esent.h.

Unicode

Implémenté en tant que JET_TABLECREATE_W (Unicode) et JET_TABLECREATE_A (ANSI).

Voir aussi

JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_TABLEID
JET_INDEXCREATE
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2