Partager via


COleDBRecordView, classe

Vue qui affiche des enregistrements de base de données dans des contrôles.

Syntaxe

class COleDBRecordView : public CFormView

Membres

Constructeurs protégés

Nom Description
COleDBRecordView ::COleDBRecordView Construit un objet COleDBRecordView.

Méthodes publiques

Nom Description
COleDBRecordView ::OnGetRowset Retourne une valeur HRESULT standard.
COleDBRecordView ::OnMove Met à jour l’enregistrement actif (s’il est sale) sur la source de données, puis passe à l’enregistrement spécifié (suivant, précédent, premier ou dernier).

Notes

La vue est une vue de formulaire directement connectée à un CRowset objet. La vue est créée à partir d’une ressource de modèle de dialogue et affiche les champs de l’objet CRowset dans les contrôles du modèle de dialogue. L’objet COleDBRecordView utilise l’échange de données de boîte de dialogue (DDX) et la fonctionnalité de navigation intégrée CRowset, pour automatiser le déplacement des données entre les contrôles du formulaire et les champs de l’ensemble de lignes. COleDBRecordView fournit également une implémentation par défaut pour passer au premier, suivant, précédent ou dernier enregistrement et une interface permettant de mettre à jour l’enregistrement actuellement en mode affichage.

Vous pouvez utiliser des fonctions DDX pour COleDbRecordView obtenir des données directement à partir du jeu d’enregistrements de base de données et l’afficher dans un contrôle de boîte de dialogue. Vous devez utiliser les DDX_* méthodes (par exemple DDX_Text), et non les DDX_Field* fonctions (par exemple DDX_FieldText) avec COleDbRecordView. DDX_FieldText ne fonctionne pas avec COleDbRecordView car DDX_FieldText prend un argument supplémentaire de type CRecordset* (pour CRecordView) ou CDaoRecordset* (pour CDaoRecordView).

Remarque

Si vous utilisez les classes DAO (Data Access Objects) plutôt que les classes OLE DB Consumer Template, utilisez la classe CDaoRecordView à la place. Pour plus d’informations, consultez l’article Vue d’ensemble : Programmation de base de données.

COleDBRecordView effectue le suivi de la position de l’utilisateur dans l’ensemble de lignes afin que la vue d’enregistrement puisse mettre à jour l’interface utilisateur. Lorsque l’utilisateur passe à la fin de l’ensemble de lignes, la vue d’enregistrement désactive les objets d’interface utilisateur ( tels que les éléments de menu ou les boutons de barre d’outils) pour se déplacer plus loin dans la même direction.

Pour plus d’informations sur les classes d’ensemble de lignes, consultez l’article Using OLE DB Consumer Templates .

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CView

CScrollView

CFormView

COleDBRecordView

Spécifications

En-tête : afxoledb.h

COleDBRecordView ::COleDBRecordView

Construit un objet COleDBRecordView.

COleDBRecordView(LPCTSTR lpszTemplateName);
COleDBRecordView(UINT nIDTemplate);

Paramètres

lpszTemplateName
Contient une chaîne terminée par null qui est le nom d’une ressource de modèle de dialogue.

nIDTemplate
Contient le numéro d’ID d’une ressource de modèle de dialogue.

Notes

Lorsque vous créez un objet d’un type dérivé de COleDBRecordView, appelez l’un des constructeurs pour créer l’objet d’affichage et identifier la ressource de boîte de dialogue sur laquelle la vue est basée. Vous pouvez identifier la ressource par nom (passer une chaîne en tant qu’argument au constructeur) ou par son ID (passer un entier non signé comme argument).

Remarque

Votre classe dérivée doit fournir son propre constructeur. Dans le constructeur, appelez le constructeur, COleDBRecordView::COleDBRecordViewavec le nom de la ressource ou l’ID comme argument.

COleDBRecordView ::OnGetRowset

Retourne un handle pour l’objet CRowset<> associé à la vue d’enregistrement.

virtual CRowset<>* OnGetRowset() = 0;

Valeur de retour

Valeur HRESULT standard.

Notes

Vous devez remplacer cette fonction membre pour construire ou obtenir un objet d’ensemble de lignes et y retourner un handle. Si vous déclarez votre classe d’affichage d’enregistrement avec ClassWizard, l’Assistant écrit un remplacement par défaut pour vous. L’implémentation par défaut de ClassWizard retourne le handle d’ensemble de lignes stocké dans la vue d’enregistrement s’il en existe un. Si ce n’est pas le cas, il construit un objet d’ensemble de lignes du type que vous avez spécifié avec ClassWizard et appelle sa Open fonction membre pour ouvrir la table ou exécuter la requête, puis retourne un handle à l’objet.

Remarque

Avant MFC 7.0, OnGetRowset a retourné un pointeur vers CRowset. Si vous avez du code qui appelleOnGetRowset, vous devez modifier le type de retour en CRowset<> de la classe templatée.

Exemple

CFrameWnd* pFrame = (CFrameWnd*)AfxGetMainWnd();
COleDBRecordView* pView = (COleDBRecordView*)pFrame->GetActiveView();

// CProductAccessor is a user-defined accessor class
CRowset<CAccessor<CProductAccessor>>* pRowSet =
(CRowset<CAccessor<CProductAccessor>>*)pView->OnGetRowset();

Pour plus d’informations et d’exemples, consultez l’article Vues d’enregistrement : Utilisation d’un affichage d’enregistrement.

COleDBRecordView ::OnMove

Se déplace vers un autre enregistrement dans l’ensemble de lignes et affiche ses champs dans les contrôles de la vue d’enregistrement.

virtual BOOL OnMove(UINT nIDMoveCommand);

Paramètres

nIDMoveCommand
Une des valeurs d’ID de commande standard suivantes :

  • ID_RECORD_FIRST : passez au premier enregistrement dans le jeu d’enregistrements.

  • ID_RECORD_LAST : passez au dernier enregistrement dans le jeu d’enregistrements.

  • ID_RECORD_NEXT : passez à l’enregistrement suivant dans le jeu d’enregistrements.

  • ID_RECORD_PREV : passez à l’enregistrement précédent dans le jeu d’enregistrements.

Valeur de retour

Différent de zéro si le déplacement a réussi ; sinon, 0 si la demande de déplacement a été refusée.

Notes

L’implémentation par défaut appelle la fonction membre appropriée Move de l’objet CRowset associé à la vue d’enregistrement.

Par défaut, OnMove met à jour l’enregistrement actif sur la source de données si l’utilisateur l’a modifié dans la vue d’enregistrement.

L’Assistant Application crée une ressource de menu avec les éléments de menu First Record, Last Record, Next Record et Previous Record. Si vous sélectionnez l’option Barre d’outils ancreable, l’Assistant Application crée également une barre d’outils avec des boutons correspondant à ces commandes.

Si vous passez au-delà du dernier enregistrement dans le jeu d’enregistrements, la vue d’enregistrement continue d’afficher le dernier enregistrement. Si vous passez en arrière au-delà du premier enregistrement, la vue d’enregistrement continue d’afficher le premier enregistrement.

Voir aussi

Graphique hiérarchique