Partager via


JET_SETCOLUMN Structure

S’applique à : Windows | Windows Server

JET_SETCOLUMN Structure

La structure JET_SETCOLUMN contient des paramètres d’entrée et de sortie pour JetSetColumns. Les champs de la structure décrivent la valeur de colonne à définir, comment la définir et où obtenir les données du jeu de colonnes.

    typedef struct {
      JET_COLUMNID columnid;
      const void* pvData;
      unsigned long cbData;
      JET_GRBIT grbit;
      unsigned long ibLongValue;
      unsigned long itagSequence;
      JET_ERR err;
    } JET_SETCOLUMN;

Membres

Columnid

Identificateur de colonne pour une colonne à définir.

pvData

Pointeur vers les données à définir dans une colonne.

cbData

Taille de l’allocation, en octets, à partir de pvData en octets.

grbit

Groupe de bits qui contiennent les options à utiliser pour cet appel, qui incluent zéro ou plusieurs des éléments suivants.

Valeur

Signification

JET_bitSetAppendLV

Ajoute des données à une colonne de type JET_coltypLongText ou JET_coltypLongBinary. Le même comportement peut être obtenu en déterminant la taille de la valeur longue existante et en spécifiant ibLongValue dans psetinfo. Toutefois, il est plus simple d’utiliser ce grbit, car il n’est pas nécessaire de connaître la taille de la valeur de colonne existante.

JET_bitSetOverwriteLV

Remplace la valeur longue existante par les nouvelles données. Lorsque cette option est utilisée, c’est comme si la valeur longue existante avait été définie sur 0 (zéro) longueur avant de définir les nouvelles données.

JET_bitSetSizeLV

Interprète la mémoire tampon d’entrée comme un nombre entier d’octets à définir comme longueur de la valeur longue décrite par le columnid donné et, le cas échéant, le numéro de séquence dans psetinfo-itagSequence>. Si la taille indiquée est supérieure à la valeur de colonne existante, la colonne est étendue avec 0s. Si la taille est inférieure à la valeur de colonne existante, la valeur est tronquée.

JET_bitSetZeroLength

Définit une valeur sur une longueur nulle. Normalement, une valeur de colonne est définie sur NULL en passant un cbMax de 0. Toutefois, pour certains types, comme JET_coltypText, une valeur de colonne peut être de 0 longueur au lieu de NULL, et cette option est utilisée pour faire la différence entre la longueur NULL et la longueur 0.

JET_bitSetSeparateLV

Force le stockage d’une valeur longue, colonnes de type JET_coltypLongText ou JET_coltypLongBinary, séparément du reste des données d’enregistrement. Cela se produit normalement lorsque la taille de la valeur longue l’empêche d’être stockée avec les données d’enregistrement restantes. Toutefois, cette option peut être utilisée pour forcer le stockage séparé de la valeur longue. Notez que les valeurs longues de quatre octets ou plus petites ne peuvent pas être forcées d’être séparées. Dans ce cas, l’option est ignorée.

JET_bitSetUniqueMultiValues

Applique des valeurs distinctes dans une colonne à valeurs multiples. Cette option compare les données de colonne source, sans transformations, à d’autres valeurs de colonne existantes et une erreur est retournée si un doublon est trouvé. Si cette option est donnée, JET_bitSetAppendLv, JET_bitSetOverwriteLV et JET_bitSetSizeLV ne peuvent pas également être donnés.

JET_bitSetUniqueNormalizedMultiValues

Applique des valeurs distinctes dans une colonne à valeurs multiples. Cette option compare la transformation normalisée par clé des données de colonne à d’autres valeurs de colonne existantes transformées de la même façon, et une erreur est retournée si un doublon est trouvé. Si cette option est donnée, JET_bitSetAppendLv, JET_bitSetOverwriteLV et JET_bitSetSizeLV ne peuvent pas également être donnés.

JET_bitSetRevertToDefaultValue

Entraîne le renvoi de la valeur de colonne par défaut à la colonne lors des opérations de récupération de colonne suivantes. Toutes les valeurs de colonne existantes sont supprimées. Cette option s’applique uniquement aux colonnes balisées, éparses ou à valeurs multiples.

JET_bitSetIntrinsicLV

Conserve la valeur longue, colonnes de type JET_coltypLongText ou JET_coltypeLongBinary, stockées avec les données d’enregistrement restantes si possible. Normalement, les colonnes longues sont stockées séparément lorsque leur longueur dépasse 1 024 octets ou que la longueur de l’enregistrement dépasse sa limite de taille de page. Toutefois, si cette option est définie, l’opération set column échoue avec une erreur JET_errColumnTooBig plutôt que de stocker cette valeur de colonne séparément des données d’enregistrement restantes.

ibLongValue

Décalage vers le premier octet à récupérer à partir d’une colonne de type JET_coltypLongBinary ou JET_coltypLongText.

itagSequence

Décrit le numéro séquentiel de la valeur dans une colonne à valeurs multiples. Une itagSequence de 0 indique que le jeu de valeurs de colonne doit être ajouté en tant que nouvelle instance d’une colonne à valeurs multiples.

err

Codes d’erreur et avertissements retournés par l’opération set column.

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.

Voir aussi

JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JetSetColumns