Partager via


Structure JET_COLUMNBASE

S’applique à : Windows | Windows Server

Structure JET_COLUMNBASE

La structure JET_COLUMNBASE décrit les paramètres d’une colonne de base. Les fonctions JetGetColumnInfo et JetGetTableColumnInfo utilisent la structure JET_COLUMNBASE .

    typedef struct {
      unsigned long cbStruct;
      JET_COLUMNID columnid;
      JET_COLTYP coltyp;
      unsigned short wCountry;
      unsigned short langid;
      unsigned short cp;
      unsigned short wFiller;
      unsigned long cbMax;
      JET_GRBIT grbit;
      tchar szBaseTableName[256];
      tchar szBaseColumnName[256];
    } JET_COLUMNBASE;

Membres

cbStruct

Taille de cette structure, en octets. Définissez cbStruct sur sizeof( JET_COLUMNBASE ).

Columnid

Réservé. Définissez columnid sur 0 (zéro).

coltyp

Type de la colonne (par exemple, texte, binaire ou numérique). Pour plus d’informations, consultez JET_COLTYP.

wCountry

Réservé. Définissez sur 0 (zéro).

langid

Réservé. Définissez sur 0 (zéro).

cp

Page de codes de la colonne. Les seules valeurs valides pour les colonnes de texte sont Anglais (1252) et Unicode (1200). La valeur zéro signifie que la valeur par défaut sera utilisée (anglais, 1252). Si la colonne n’est pas une colonne de texte, la page de codes est automatiquement définie sur zéro.

wFiller

Réservé. Définissez sur 0 (zéro).

cbMax

Longueur maximale, en octets, d’une colonne de longueur variable, ou longueur réelle, en octets, d’une colonne de longueur fixe.

grbit

Options pour la colonne, y compris zéro ou plusieurs des valeurs suivantes.

Valeur

Signification

JET_bitColumnFixed

La colonne est fixe et occupe la même quantité d’espace dans une ligne, quelle que soit la quantité de données qu’elle contient. JET_bitColumnFixed ne peut pas être combiné avec JET_bitColumnTagged et ne peut pas être utilisé lorsque le membre coltyp est défini sur JET_coltypLongText ou JET_coltypLongBinary.

JET_bitColumnTagged

La colonne est balisée et occupe de l’espace dans la base de données uniquement si elle contient des données. JET_bitColumnTagged ne peut pas être combiné avec JET_bitColumnFixed, JET_bitColumnVersion ou JET_bitColumnEscrowUpdate.

JET_bitColumnNotNULL

La colonne ne doit pas être définie sur une valeur NULL .

JET_bitColumnNotNULL ne peut pas être combiné avec JET_bitColumnUserDefinedDefault.

JET_bitColumnVersion

La colonne est une colonne de version qui spécifie la version de la ligne. La valeur de cette colonne commence à zéro et est automatiquement incrémentée pour chaque mise à jour de la ligne.

JET_bitColumnVersion ne peut être utilisé que lorsque le membre coltyp est défini sur JET_coltypLong et ne peut pas être combiné avec JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate, JET_bitColumnTagged ou JET_bitColumnUserDefinedDefault.

JET_bitColumnAutoincrement

La colonne est incrémentée automatiquement. Le nombre est un nombre croissant et il est garanti qu’il est unique au sein d’une table. Toutefois, les nombres peuvent ne pas être séquentiels. Par exemple, si cinq lignes sont insérées dans une table, la colonne incrémentée automatiquement peut contenir les valeurs { 1, 2, 6, 7, 8 }.

JET_bitColumnAutoincrement ne peut être utilisé que lorsque le membre coltyp est défini sur JET_coltypLong ou JET_coltypCurrency et ne peut pas être combiné avec JET_bitColumnEscrowUpdate, JET_bitColumnUserDefinedDefault ou JET_bitColumnVersion.

Windows 2000 : JET_bitColumnVersion ne peut être utilisé que lorsque le membre coltyp est défini sur JET_coltypLong.

JET_bitColumnUpdatable

Valide uniquement pour les appels à JetGetColumnInfo. JET_bitColumnUpdatable ne peut pas être combiné avec JET_bitColumnUserDefinedDefault.

JET_bitColumnTTKey

Valide uniquement lors des appels à JetOpenTable.

JET_bitColumnTTDescending

Valide uniquement sur les appels à JetOpenTempTable.

JET_bitColumnMultiValued

La colonne peut être à valeurs multiples. Une colonne à valeurs multiples peut avoir zéro, une ou plusieurs valeurs associées. Les différentes valeurs d’une colonne à valeurs multiples sont identifiées par un nombre dans le membre itagSequence de différentes structures, par exemple, JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN, JET_ENUMCOLUMNVALUE. Les colonnes à valeurs multiples doivent être des colonnes balisées ; autrement dit, il ne peut pas s’agir de colonnes de longueur fixe ou variable.

JET_bitColumnEscrowUpdate

Spécifie qu’une colonne est une colonne de mise à jour d’entiercement qui peut être mise à jour simultanément par différentes sessions avec JetEscrowUpdate et aura une cohérence transactionnelle.

  • Une colonne de mise à jour d’entiercement ne peut être créée que lorsque la table est vide.

  • Pour une colonne de mise à jour d’entiercement, le membre coltyp doit être défini sur JET_coltypLong.

  • Une colonne de mise à jour d’entiercement doit avoir une valeur par défaut ( c’est-à-dire cbDefault doit être positive).

  • JET_bitColumnEscrowUpdate ne peut pas être combiné avec JET_bitColumnTagged, JET_bitColumnVersion ou JET_bitColumnAutoincrement.

JET_bitColumnUnversioned

La colonne est créée sans numéro de version. Cela signifie que les autres transactions qui tentent d’ajouter une colonne portant le même nom échouent. JET_bitColumnUnversioned est utilisé uniquement avec JetAddColumn. Il ne peut pas être utilisé dans une transaction.

JET_bitColumnMaybeNull

Réservé pour un usage futur.

JET_bitColumnMaybeNull ne peut pas être combinée avec JET_bitColumnUserDefinedDefault.

JET_bitColumnFinalize

Ne pas utiliser. Utilisez JET_bitColumnDeleteOnZero à la place.

La colonne peut être finalisée. Une colonne qui peut être finalisée est une colonne de mise à jour d’entiercement qui entraîne la suppression de la ligne lorsque la colonne atteint zéro. Les versions ultérieures peuvent appeler une fonction de rappel à la place (voir JET_CALLBACK). Une colonne qui peut être finalisée doit être une colonne de mise à jour d’entiercement. JET_bitColumnFinalize ne peut pas être combiné avec JET_bitColumnUserDefinedDefault.

JET_bitColumnUserDefinedDefault

La valeur par défaut d’une colonne est fournie par une fonction de rappel. Voir JET_CALLBACK. Une colonne dont la valeur par défaut est définie par l’utilisateur doit être une colonne balisée. Si JET_bitColumnUserDefinedDefault est spécifié, le pvDefault doit pointer vers une structure JET_USERDEFINEDDEFAULT , et cbDefault doit être défini sur sizeof( JET_USERDEFINEDDEFAULT ).

JET_bitColumnUserDefinedDefault ne peut pas être combiné avec JET_bitColumnFixed, JET_bitColumnNotNULL, JET_bitColumnVersion, JET_bitColumnAutoincrement, JET_bitColumnUpdatable, JET_bitColumnEscrowUpdate, JET_bitColumnFinalize, JET_bitColumnDeleteOnZero ou JET_bitColumnMaybeNull.

JET_bitColumnDeleteOnZero

La colonne est une colonne de mise à jour d’entiercement et lorsqu’elle atteint zéro, l’enregistrement est supprimé. Une utilisation courante des colonnes delete-on-zero est en tant que champs de nombre de références. Lorsque le nombre de références tombe à zéro, l’enregistrement est supprimé. Une colonne de suppression sur zéro doit être une colonne de mise à jour d’entiercement.

JET_bitColumnDeleteOnZero remplace JET_bitColumnFinalize.

JET_bitColumnDeleteOnZero ne peut pas être combiné avec JET_bitColumnFinalize ou JET_bitColumnUserDefinedDefault et ne peut pas être utilisé avec des colonnes par défaut définies par l’utilisateur.

szBaseTableName

Table à partir de laquelle la table actuelle hérite de son DDL.

szBaseColumnName

Nom de la colonne dans la table de modèle.

Notes

JET_COLUMNBASE contient la plupart des mêmes informations que JET_COLUMNDEF, mais il ajoute des champs de chaîne pour décrire la table de base (si un DDL hiérarchique a été utilisé).

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_COLUMNBASE_W (Unicode) et JET_COLUMNBASE_A (ANSI).

Voir aussi

JET_CALLBACK
JET_COLTYP
JET_COLUMNDEF
JET_COLUMNID
JET_GRBIT
JET_SESID
JET_TABLEID
JET_USERDEFINEDDEFAULT
JetGetColumnInfo
JetGetTableColumnInfo
JetRenameColumn