Fonction JetSetColumns

S’applique à : Windows | Windows Server

Fonction JetSetColumns

Le comportement de la fonction JetSetColumns est similaire à celui de JetSetColumn , mais permet à une application de définir plusieurs valeurs de colonne en une seule opération. Un tableau de structures JET_SETCOLUMN est utilisé pour décrire l’ensemble de valeurs de colonne à définir et pour décrire les mémoires tampons d’entrée pour chaque valeur de colonne à définir.

    JET_ERR JET_API JetSetColumns(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in_out_opt  JET_SETCOLUMN* psetcolumn,
      __in          unsigned long csetcolumn
    );

Paramètres

sesid

Session à utiliser pour cet appel.

tableid

Curseur à utiliser pour cet appel.

psetcolumn

Pointeur vers un tableau d’une ou plusieurs structures JET_SETCOLUMN . Chaque structure inclut des descriptions de la valeur de colonne à définir et de l’emplacement à partir duquel obtenir les données de colonne à définir.

csetcolumn

Nombre de structures JET_SETCOLUMN dans le tableau donné par psetcolumn.

Valeur renvoyée

Cette fonction retourne le type de données JET_ERR avec l’un des codes de retour suivants. Pour plus d’informations sur les erreurs ESE possibles, consultez Erreurs du moteur de stockage extensible et Paramètres de gestion des erreurs.

Code de retour

Description

JET_errBadColumnId

L’ID de colonne donné est en dehors des limites légales d’un ID de colonne.

JET_errClientRequestToStopJetService

Il n’est pas possible d’effectuer l’opération, car toutes les activités sur le instance associée à la session ont cessé à la suite d’un appel à JetStopService.

JET_errColumnIllegalNull

Identique à JET_errNullInvalid.

JET_errColumnNotFound

La colonne décrite par le columnid donné n’existe pas dans la table.

JET_errColumnNotUpdatable

Une tentative illégale de mise à jour d’une valeur longue a été effectuée lors d’une opération de mise à jour d’origine de suppression de copie d’insertion.

JET_errColumnTooBig

Les données de valeur de colonne données dans la mémoire tampon d’entrée dépassent la limite de taille naturelle pour une colonne de longueur fixe ou configurée pour des colonnes texte ou binaire de longueur fixe. Cette erreur est également retournée lors du passage de plus de 1 024 octets de données pour une colonne longue et de la définition de l’indicateur JET_bitSetIntrinsicLV.

JET_errInstanceUnavailable

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session a rencontré une erreur irrécupérable qui nécessite que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données. Cette erreur sera retournée uniquement par Windows XP et les versions ultérieures.

JET_errInvalidBufferSize

La taille des données de valeur de colonne donnée ne correspond pas à ce qui est naturel pour le type de données de longueur fixe.

JET_errInvalidColumnType

Une tentative illégale de mise à jour d’une colonne d’incrémentation automatique a été effectuée au cours d’une opération d’insertion ou de mise à jour, ou de mise à jour d’une colonne de version lors d’une opération de remplacement.

JET_errInvalidgrbit

Les options fournies sont inconnues ou une combinaison illégale de paramètres de bits connus.

JET_errInvalidParameter

Le psetinfo-cbStruct> donné n’est pas une taille valide pour la structure JET_SETINFO .

JET_errMultiValuedDuplicate

L’opération set column a tenté de créer une valeur en double et a spécifié JET_bitSetUniqueMultiValues ou JET_bitSetUniqueNormalizedMultiValues.

JET_errNotInitialized

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session n’a pas encore été initialisé.

JET_errNotInTransaction

Une tentative illégale de mise à jour d’une valeur de colonne longue a été effectuée lorsque la session appelante n’était pas dans une transaction.

JET_errNullInvalid

Une tentative non conforme a été effectuée pour affecter la valeur NULL à une colonne non NULL.

JET_errRecordTooBig

La valeur de colonne n’a pas pu être définie sur la valeur dans la mémoire tampon d’entrée, car elle aurait entraîné le dépassement de la limite de taille de la page liée à la taille de la page. Les colonnes de type JET_coltypLongText ou JET_coltypLongBinary peuvent être stockées séparément des données d’enregistrement restantes. Toutefois, d’autres colonnes doivent être stockées avec l’enregistrement et peuvent entraîner le dépassement de la limite de taille d’enregistrement. Même les colonnes longues nécessitent 5 octets d’espace dans l’enregistrement en tant que liaison, ce qui peut également entraîner le retour de JET_errRecordTooBig.

JET_errRestoreInProgress

Il n’est pas possible d’effectuer l’opération, car une opération de restauration est en cours sur le instance associé à la session.

JET_errSessionSharingViolation

La même session ne peut pas être utilisée pour plusieurs threads en même temps. Cette erreur sera retournée uniquement par Windows XP et les versions ultérieures.

JET_errTermInProgress

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session est en cours d’arrêt.

JET_errUpdateNotPrepared

Le curseur n’est actuellement pas en cours d’insertion d’un nouvel enregistrement ou de mise à jour d’un enregistrement existant.

JET_wrnColumnMaxTruncated

La valeur de colonne dans la mémoire tampon d’entrée a dépassé la longueur maximale configurée pour une colonne de longueur variable et a été tronquée.

En cas de réussite, pour chaque colonne décrite dans les psetcolumns, la partie souhaitée de la valeur de colonne est définie avec les données copiées à partir de la mémoire tampon d’entrée. Le jeu de données de colonne a peut-être été tronqué s’il a dépassé la longueur maximale spécifiée pour une colonne de longueur variable.

En cas d’échec, l’emplacement du curseur reste inchangé et aucune donnée de valeur de colonne n’est mise à jour dans la mémoire tampon de copie.

Notes

Si une opération de colonne définie individuelle retourne une erreur, l’ensemble de l’opération JetSetColumns retourne une erreur. Les avertissements, en général, sont retournés dans psetcolumns-error> et non dans le code de retour de cette fonction. Toutefois, si le dernier jeu de colonnes comporte un avertissement, cet avertissement est retourné par JetSetColumns lui-même.

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.

Bibliothèque

Utilisez ESENT.lib.

DLL

Nécessite ESENT.dll.

Voir aussi

JET_COLTYP
JET_ERR
JET_SESID
JET_TABLEID
JET_SETCOLUMN
JetRetrieveColumns
JetSetColumn