Utilisation des accesseurs manuels
Il existe quatre opérations à effectuer lors de la gestion d’une commande inconnue :
Déterminer les paramètres
Exécuter la commande
Déterminer les colonnes de sortie
Voir s’il existe plusieurs ensembles de lignes de retour
Pour effectuer ces opérations avec les modèles de consommateur OLE DB, utilisez la CManualAccessor
classe et procédez comme suit :
Ouvrez un
CCommand
objet avecCManualAccessor
comme paramètre de modèle.CCommand<CManualAccessor, CRowset, CMultipleResults> rs;
Interrogez la session pour l’interface
IDBSchemaRowset
et utilisez l’ensemble de lignes des paramètres de procédure. Si l’interfaceIDBSchemaRowset
n’est pas disponible, recherchez l’interfaceICommandWithParameters
. AppelezGetParameterInfo
des informations. Si aucune interface n’est disponible, vous pouvez supposer qu’il n’existe aucun paramètre.Pour chaque paramètre, appelez
AddParameterEntry
pour ajouter les paramètres et définissez-les.Ouvrez l’ensemble de lignes, mais définissez le paramètre de liaison sur
false
.Appelez
GetColumnInfo
pour récupérer les colonnes de sortie. PermetAddBindEntry
d’ajouter la colonne de sortie à la liaison.Appel
GetNextResult
pour déterminer si d’autres ensembles de lignes sont disponibles. Répétez les étapes 2 et 5.
Pour obtenir un exemple d’accesseur manuel, consultez CDBListView::CallProcedure
l’exemple DBVIEWER .