virtuel void DoFieldExchange ( objet CFieldExchange * pFX );
jeter ( CDBException );
Paramètres
pFX
Pointeur vers un objet CFieldExchange . Le cadre sera déjà ont mis en place cet objet pour spécifier un contexte pour l'opération d'échange de terrain.
Remarques
Lorsque l'extraction de lignes en bloc n'est pas mis en œuvre, l'infrastructure appelle cette fonction membre pour échanger automatiquement des données entre les membres de données de champ de votre objet de jeu d'enregistrements et les colonnes correspondantes de l'enregistrement dans la source de données. DoFieldExchange lie également vos membres de données de paramètre, le cas échéant, aux espaces réservés de paramètre dans la chaîne d'instruction SQL pour la sélection du jeu d'enregistrements.
Si l'extraction de lignes en bloc est implémentée, l'infrastructure appelle DoBulkFieldExchange. Pour mettre en œuvre la ligne en vrac de l'extraction, vous devez spécifier l'option CRecordset::useMultiRowFetch du paramètre dwOptions de la fonction membre Open.
&Notenbsp ;DoFieldExchange est disponible uniquement si vous utilisez une classe dérivée de CRecordset. Si vous avez créé un objet recordset directement à partir de CRecordset, vous devez appeler la fonction membre GetFieldValue pour récupérer des données.
L'échange de données de champ, appelées record field exchange (RFX), fonctionne dans les deux directions : de membres de données de champ de l'objet recordset pour les champs de l'enregistrement dans la source de données et de l'enregistrement dans la source de données à l'objet recordset.
La seule action que vous devez normalement prendre pour mettre en œuvre de DoFieldExchange pour votre classe dérivée de jeu d'enregistrements est de créer la classe avec ClassWizard et de spécifier les noms et les types de données des membres de données du champ. Vous pouvez également ajouter code à ce qu'écrit ClassWizard pour spécifier des membres de données de paramètre ou de traiter avec les colonnes que vous lier dynamiquement. Pour plus d'informations, consultez l'article jeu d'enregistrements : dynamiquement liaison données colonnes (ODBC) dans le Guide du programmeur Visual C++.
Lorsque vous déclarez votre classe dérivée de jeu d'enregistrements avec ClassWizard, l'Assistant écrit une substitution de DoFieldExchange pour vous, qui ressemble à l'exemple suivant:
vOID CCustSet::DoFieldExchange (objet CFieldExchange * pFX)
{
nbsp ; //{{AFX_FIELD_MAP(CCustSet)
pFX - > SetFieldType(CFieldExchange::outputColumn) ;
RFX_Text (pFX, « Nom », m_strName) ;
RFX_Int (pFX, « Âge », m_wAge) ;
//}}AFX_FIELD_MAP
}
Pour plus d'informations sur les fonctions RFX, consultez la rubrique Fonctions de Record Field Exchange.
Pour plus d'exemples et des détails concernant DoFieldExchange, consultez l'article Record Field Exchange : fonctionnement de RFX. Pour des informations générales sur RFX, consultez l'article Record Field Exchange. Les deux articles sont dans le Guide du programmeur Visual C++.
Aperçu de CRecordset |  ; Membres de la classe | Graphique de la hiérarchie
Voir aussi  ;CRecordset::m_nFields, CRecordset::m_nParams, CRecordset::DoBulkFieldExchange, CRecordset::GetFieldValue, CFieldExchange, Record Field Exchange fonctions