Fonction JetSetColumns

S’applique à : Windows | Windows Serveurs

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 de JET_SETCOLUMN est utilisé pour décrire l’ensemble des 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 de JET_SETCOLUMN . Chaque structure comprend des descriptions de la valeur de colonne à définir et de l’emplacement où les données de colonne doivent être définies.

csetcolumn

Nombre de structures de 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 indiqué est en dehors des limites autorisées d’un ID de colonne.

JET_errClientRequestToStopJetService

Il n’est pas possible de terminer l’opération, car toute activité sur l’instance associée à la session a été interrompue 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 non conforme a été effectuée pour mettre à jour une valeur long pendant une opération de mise à jour d’origine de la suppression d’une copie Insert.

JET_errColumnTooBig

Les données de la valeur de colonne donnée 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 le texte de longueur fixe ou les colonnes binaires. Cette erreur est également retournée lors du passage de plus de 1024 octets de données pour une longue colonne et de la définition de l’indicateur de JET_bitSetIntrinsicLV.

JET_errInstanceUnavailable

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

JET_errInvalidBufferSize

La taille de données de la 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 non conforme a été effectuée pour mettre à jour une colonne à incrémentation automatique 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 non conforme 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 définition de colonne a tenté de créer une valeur dupliquée et spécifiée soit JET_bitSetUniqueMultiValues, soit JET_bitSetUniqueNormalizedMultiValues.

JET_errNotInitialized

Impossible de terminer l’opération, car l’instance associée à la session n’a pas encore été initialisée.

JET_errNotInTransaction

Une tentative non conforme 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 non conforme a été effectuée pour définir une colonne non NULL à NULL.

JET_errRecordTooBig

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

JET_errRestoreInProgress

Il n’est pas possible de terminer 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 simultanément pour plusieurs threads. cette erreur est renvoyée uniquement par Windows XP et les versions ultérieures.

JET_errTermInProgress

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

JET_errUpdateNotPrepared

Le curseur ne se trouve pas actuellement dans le processus 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 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 la colonne a peut-être été tronqué s’il dépasse 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 le tampon de copie.

Remarques

Si une opération de définition de colonne individuelle retourne une erreur, la totalité de l’opération de JetSetColumns retourne une erreur. Des 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é à partir de JetSetColumns lui-même.

Configuration requise

Condition requise Valeur

Client

requiert Windows Vista, Windows XP ou Windows 2000 Professional.

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

Requiert ESENT.dll.

Voir aussi

JET_COLTYP
JET_ERR
JET_SESID
JET_TABLEID
JET_SETCOLUMN
JetRetrieveColumns
JetSetColumn