Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour définir et récupérer des données, les modèles OLE DB utilisent un accesseur et un ensemble de lignes via la classe CAccessorRowset . Cette classe peut gérer plusieurs accesseurs de différents types.
Types d’accesseur
Tous les accesseurs dérivent de CAccessorBase. CAccessorBase fournit à la fois la liaison de paramètre et de colonne.
La figure suivante montre les types d’accesseur.

Classes d’accesseur
CAccessor Utilisez cet accesseur lorsque vous connaissez la structure de la source de base de données au moment du design.
CAccessorlie statiquement un enregistrement de base de données, qui contient la mémoire tampon, à la source de données.CDynamicAccessor Utilisez cet accesseur lorsque vous ne connaissez pas la structure de la base de données au moment du design.
CDynamicAccessorappelsIColumnsInfo::GetColumnInfopour obtenir les informations de colonne de base de données. Il crée et gère un accesseur et la mémoire tampon.CDynamicParameterAccessor Utilisez cet accesseur pour gérer les types de commandes inconnus. Lorsque vous préparez les commandes,
CDynamicParameterAccessorvous pouvez obtenir des informations de paramètre à partir de l’interfaceICommandWithParameters, si le fournisseur prend en chargeICommandWithParameters.CDynamicStringAccessor, CDynamicStringAccessorA et CDynamicStringAccessorW utilisent ces classes quand vous n’avez aucune connaissance du schéma de base de données.
CDynamicStringAccessorArécupère les données sous forme de chaînes ANSI ;CDynamicStringAccessorWrécupère les données sous forme de chaînes Unicode.CManualAccessor Avec cette classe, vous pouvez utiliser les types de données souhaités si le fournisseur peut convertir le type. Il gère à la fois les colonnes de résultat et les paramètres de commande.
Le tableau suivant récapitule la prise en charge dans les types d’accesseur de modèle OLE DB.
| Type d’accesseur | Dynamique | Gère les params | Buffer | Plusieurs accesseurs |
|---|---|---|---|---|
CAccessor |
Non | Oui | Utilisateur | Oui |
CDynamicAccessor |
Oui | Non | modèles OLE DB | Non |
CDynamicParameterAccessor |
Oui | Oui | modèles OLE DB | Non |
CDynamicStringAccessor[A,W] |
Oui | Non | modèles OLE DB | Non |
CManualAccessor |
Oui | Oui | Utilisateur | Oui |
Types d’ensembles de lignes
Les modèles OLE DB prennent en charge trois types d’ensembles de lignes (voir la figure précédente) : les ensembles de lignes uniques (implémentés par CRowset), les ensembles de lignes en bloc (implémentés par CBulkRowset) et les ensembles de lignes de tableau (implémentés par CArrayRowset). Les ensembles de lignes uniques récupèrent un handle de ligne unique lorsqu’ils MoveNext sont appelés. Les ensembles de lignes en bloc peuvent extraire plusieurs handles de ligne. Les ensembles de lignes de tableau sont des ensembles de lignes accessibles à l’aide de la syntaxe de tableau.
La figure suivante montre les types d’ensembles de lignes.

Classes d’ensemble de lignes
Les ensembles de lignes de schéma n’accèdent pas aux données dans le magasin de données, mais accèdent à des informations sur le magasin de données, appelées métadonnées. Les ensembles de lignes de schéma sont généralement utilisés dans des situations où la structure de base de données n’est pas connue au moment de la compilation et doit être obtenue au moment de l’exécution.