Partager via


Fonction JetSetColumns

s’applique à : Windows | Windows Server

Fonction JetSetColumns

La fonction JetSetColumns est similaire au comportement de JetSetColumn , mais permet à une application de définir plusieurs valeurs de colonne dans 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 comprend des descriptions de la valeur de colonne à définir et à partir de laquelle obtenir des données de colonne à définir.

csetcolumn

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

Valeur de retour

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 Les erreurs du moteur de stockage extensible et les paramètres de gestion des erreurs.

Code de retour

Descriptif

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 associées à la session ont cessé suite à 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 a été effectuée pour mettre à jour une valeur longue pendant une opération de suppression de copie d’origine 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ées pour le texte de longueur fixe ou les colonnes binaires. Cette erreur est également retournée lors de la transmission de plus de 1024 octets de données pour une colonne longue et la définition de l’indicateur de JET_bitSetIntrinsicLV.

JET_errInstanceUnavailable

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

JET_errInvalidBufferSize

La taille de 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 a été effectuée pour mettre à jour une colonne incrémentée automatiquement pendant une opération d’insertion ou de mise à jour, ou pour mettre à jour une colonne de version pendant 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 de colonne set a tenté de créer une valeur en double et spécifiée JET_bitSetUniqueMultiValues ou JET_bitSetUniqueNormalizedMultiValues.

JET_errNotInitialized

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

JET_errNotInTransaction

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

JET_errNullInvalid

Une tentative illégale a été effectuée pour définir une colonne non NULL sur 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 provoqué le dépassement de la taille liée à la taille de l’enregistrement. 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 de l’enregistrement. Même les colonnes longues nécessitent 5 octets d’espace dans l’enregistrement en tant que liaison et cela peut également entraîner JET_errRecordTooBig être retourné.

JET_errRestoreInProgress

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

JET_errSessionSharingViolation

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

JET_errTermInProgress

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

JET_errUpdateNotPrepared

Le curseur n’est 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.

Remarques

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

Spécifications

Besoin 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