Partager via


Record Field Exchange : utilisation des fonctions RFX

Cette rubrique explique comment utiliser les appels de fonction RFX qui composent le corps de votre DoFieldExchange remplacement.

Remarque

Cette rubrique s’applique aux classes dérivées de CRecordset dans lesquelles la récupération de lignes en bloc n’a pas été implémentée. Si vous utilisez l’extraction de lignes en bloc, l’échange de champs d’enregistrements en bloc (Bulk RFX) est implémenté. Bulk RFX est similaire à RFX. Pour comprendre les différences, consultez Recordset : extraction d’enregistrements en bloc (ODBC).

Les fonctions globales RFX échangent des données entre des colonnes sur la source de données et les membres de données de champ dans votre jeu d’enregistrements. Vous écrivez les appels de fonction RFX dans la fonction membre DoFieldExchange de votre recordset. Cette rubrique décrit brièvement les fonctions et montre les types de données pour lesquels les fonctions RFX sont disponibles. La note technique 43 explique comment écrire vos propres fonctions RFX pour des types de données supplémentaires.

Syntaxe de la fonction RFX

Chaque fonction RFX prend trois paramètres (et certains prennent un quatrième ou cinquième paramètre facultatif) :

  • Pointeur vers un objet CFieldExchange . Vous passez simplement le long du pFX pointeur passé à DoFieldExchange.

  • Nom de la colonne telle qu’elle apparaît sur la source de données.

  • Nom du membre de données de champ ou du membre de données de paramètre correspondant dans la classe recordset.

  • (Facultatif) Dans certaines des fonctions, la longueur maximale de la chaîne ou du tableau en cours de transfert. Cette valeur par défaut est de 255 octets, mais vous souhaiterez peut-être la modifier. La taille maximale est basée sur la taille maximale d’un CString objet ( INT_MAX (2 147 483 647 octets), mais vous rencontrerez probablement des limites de pilote avant cette taille.

  • (Facultatif) Dans la RFX_Text fonction, vous utilisez parfois un cinquième paramètre pour spécifier le type de données d’une colonne.

Pour plus d’informations, consultez les fonctions RFX sous Macros et Globals dans la référence de la bibliothèque de classes. Pour obtenir un exemple de cas où vous pouvez utiliser particulièrement les paramètres, consultez Recordset : Obtention de suMs et autres résultats d’agrégation (ODBC) .

Types de données RFX

La bibliothèque de classes fournit des fonctions RFX pour transférer de nombreux types de données différents entre la source de données et vos jeux d’enregistrements. La liste suivante récapitule les fonctions RFX par type de données. Dans les cas où vous devez écrire vos propres appels de fonction RFX, sélectionnez-les par type de données.

Fonction Type de données
RFX_Bool BOOL
RFX_Byte BYTE
RFX_Binary CByteArray
RFX_Double double
RFX_Single float
RFX_Int int
RFX_Long long
RFX_LongBinary CLongBinary
RFX_Text CString
RFX_Date CTime

Pour plus d’informations, consultez la documentation de la fonction RFX sous Macros et Globals dans la référence de la bibliothèque de classes. Pour plus d’informations sur la façon dont les types de données C++ correspondent aux types de données SQL, consultez la table ANSI SQL Data Types Mappés à des types de données C++ dans SQL : SQL et C++ Data Types (ODBC).

Voir aussi

Record Field Exchange (RFX)
Record Field Exchange : fonctionnement de RFX
Recordset : paramétrage d’un recordset (ODBC)
Recordset : liaison dynamique de colonnes de données (ODBC)
CRecordset, classe
CFieldExchange, classe