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