Record Field Exchange : utilisation de RFX
La présente rubrique explique comment utiliser RFX en relation avec les tâches effectuées par l'infrastructure.
Notes
Cette rubrique s'applique aux classes dérivées de CRecordset dans lesquels l'extraction de lignes en bloc n'a pas été implémentée. Si vous utilisez l'extraction de lignes en bloc, le mécanisme RFX en bloc (Bulk RFX) est implémenté. RFX en bloc est similaire à RFX. Pour plus d'informations sur les différences, consultez Recordset : extraction globale d'enregistrements (ODBC).
Les rubriques suivantes contiennent des informations connexes :
Record Field Exchange : utilisation du code écrit par l'Assistant présente les principaux composants de RFX et explique le code que l'Assistant Création d'applications MFC et Add Class (comme indiqué dans Ajout d'un consommateur ODBC MFC) écrivent pour prendre en charge RFX, ainsi que la façon dont vous pourriez modifier le code de l'Assistant.
Record Field Exchange : utilisation des fonctions RFX explique comment écrire les appels de fonction RFX dans la substitution de DoFieldExchange.
Le tableau suivant indique le rôle que vous jouez et ce que la structure accomplit automatiquement.
Utilisation de RFX : responsabilités respectives
Vous |
L'infrastructure |
---|---|
Déclarez les classes du recordset à l'aide d'un Assistant. Définissez les noms et types de données des membres de données de type champ. |
L'Assistant dérive une classe CRecordset et écrit automatiquement la substitution de DoFieldExchange, y compris l'appel de fonctions RFX pour chaque membre de données de type champ. |
(Facultatif) Ajoutez manuellement les données membres de paramètre nécessaires à la classe. Ajoutez manuellement un appel des fonctions RFX à DoFieldExchange pour chaque donnée membre de type paramètre, ajouter un appel à CFieldExchange::SetFieldType pour le groupe de paramètres et indiquer le nombre total de paramètres dans m_nParams. Consultez Recordset : paramétrage d'un recordset (ODBC). |
|
(Facultatif) Liez manuellement les colonnes supplémentaires et les membres de données de type champ. Incrémentez manuellement m_nFields. Consultez Recordset : liaison dynamique de colonnes de données (ODBC). |
|
Construisez un objet de votre classe de recordset. Avant d'utiliser l'objet, définissez les valeurs des éventuels membres de données de type paramètre. |
Pour des raisons d'efficacité, l'infrastructure lie au préalable les paramètres à l'aide d'ODBC. Lorsque vous passez les valeurs des paramètres, l'infrastructure les passe à la source de données. Seules les valeurs des paramètres sont envoyées pour des actualisations, sauf si les chaînes de tri et/ou de filtre ont changé. |
Ouvrez un objet recordset à l'aide de CRecordset::Open. |
Exécute la requête du recordset, lie les colonnes aux membres de données de type champ de recordset et appelle DoFieldExchange pour échanger les données entre le premier enregistrement sélectionné et les membres de données de type champ de recordset. |
Parcourez le recordset à l'aide de CRecordset::Move ou d'un menu ou d'une commande de la barre d'outils. |
Appelle DoFieldExchange pour transférer les données aux données membres de champ à partir du nouvel enregistrement en cours. |
Ajoutez, mettez à jour et supprimez des enregistrements. |
Appelle DoFieldExchange pour transférer les données vers la source de données. |
Voir aussi
Référence
Macros, Global Functions, and Global Variables
Concepts
Record Field Exchange : fonctionnement de RFX
Recordset : calculs de totaux et autres résultats de regroupement (ODBC)