Partager via


Modèles du consommateur OLE DB (C++)

Les modèles du consommateur OLE DB prennent en charge la spécification OLE DB version 2.6. (Les modèles du consommateur OLE DB sont passés en revue par rapport à la version OLE DB 2.6, mais ne prennent pas en charge toutes les interfaces de la spécification.) Les modèles du consommateur réduisent la quantité de code que vous devez écrire pour implémenter un consommateur OLE DB. Ils offrent les avantages suivants :

  • un accès aisé aux fonctionnalités OLE DB et une intégration facile avec ATL et MFC ;

  • un modèle de liaison simple pour les colonnes et les paramètres de base de données ;

  • des types de données C/C++ natifs pour la programmation OLE DB.

Pour utiliser les modèles OLE DB, vous devez connaître les modèles C++, COM et les interfaces OLE DB. Si vous n'êtes pas familiarisé avec OLE DB, consultez le Guide de référence du programmeur OLE DB.

Les modèles OLE DB prennent en charge le modèle objet OLE DB existant au lieu d'ajouter un nouveau modèle objet. Les classes de la couche supérieure des modèles du consommateur OLE DB correspondent aux composants définis dans la spécification OLE DB. Le design des modèles du consommateur OLE DB inclut des fonctionnalités avancées telles que l'association de plusieurs accesseurs à un ensemble de lignes. Du fait de l'utilisation de modèles et de l'héritage multiple, la bibliothèque est devenue compacte et d'un maniement souple.

Comment les consommateurs OLE DB accèdent aux données

Les consommateurs utilisent plusieurs sortes d'objets, qui sont décrits dans les rubriques suivantes :

Avant que le consommateur n'exécute la moindre action, sélectionnez un fournisseur OLE DB approprié pour le type de base de données auquel vous devez accéder (par exemple, SQL, Oracle, ODBC et MSDS). Pour ce faire, vous devez en principe utiliser un énumérateur (consultez CEnumerator, comme indiqué dans Sources de données et sessions).

L'objet source de données fournit les informations de connexion nécessaires pour vous permettre de vous connecter à la source de données que vous avez sélectionnée. L'objet source de données contient également des informations d'authentification (telles que les noms de connexion et les mots de passe), qui sont utilisées pour accorder aux utilisateurs une autorisation d'accès à la source de données. L'objet source de données établit une connexion à la base de données, puis crée un ou plusieurs objets session. Chaque objet session gère ses propres interactions avec la base de données, c'est-à-dire, la recherche et la récupération de données, et exécute ces transactions indépendamment des autres sessions en cours.

La session crée les objets ensemble de lignes et commande. L'objet commande permet aux utilisateurs de dialoguer avec la base de données à l'aide, par exemple, de commandes SQL. L'objet ensemble de lignes représente un groupe de données qui permet de naviguer et dans lequel vous pouvez mettre à jour, supprimer et insérer des lignes.

Un consommateur OLE DB lie les colonnes des tables de base de données à des variables locales ; pour cela, il utilise un accesseur, qui contient un mappage indiquant la façon dont les données sont stockées dans le consommateur. Le mappage correspond à un ensemble de liaisons entre les colonnes des tables et les mémoires tampons locales (variables) dans l'application du consommateur.

L'un des concepts importants de l'utilisation des consommateurs s'appuie sur la déclaration de deux classes dans un consommateur : la classe de commande (ou de table) et la classe d'enregistrement utilisateur. Vous accédez à l'ensemble de lignes par l'intermédiaire de la classe de commande (ou de table), qui hérite à la fois d'une classe d'accesseur et d'une classe d'ensembles de lignes. La classe d'enregistrement utilisateur contient le mappage des liaisons de l'ensemble de lignes décrit précédemment.

Pour plus d'informations, consultez les rubriques suivantes :

Voir aussi

Référence

Documentation du Kit de développement logiciel (SDK) OLE DB

Guide de référence du programmeur OLE DB

Concepts

Programmation OLE DB

Autres ressources

Accès aux données (C++)