Utilisation des accesseurs manuels
Lors de la manipulation d'une commande inconnue, vous devez exécuter quatre opérations :
Déterminer les paramètres
Exécuter la commande
Déterminer les colonnes de sortie
Vérifier s'il y a plusieurs jeux de lignes de retour
Pour exécuter ces opérations à l'aide des modèles du consommateur OLE DB, utilisez la classe CManualAccessor et suivez la procédure ci-dessous :
Ouvrez un objet CCommand à l'aide de la classe CManualAccessor comme paramètre de modèle.
CCommand<CManualAccessor, CRowset, CMultipleResults> rs;
Interrogez la session pour l'interface IDBSchemaRowset et utilisez le jeu de lignes des paramètres de la procédure. Si l'interface IDBSchemaRowset n'est pas disponible, recherchez l'interface ICommandWithParameters. Pour plus d'informations, appelez GetParameterInfo. Si aucune interface n'est disponible, vous pouvez supposer qu'il n'existe pas de paramètres.
Pour chaque paramètre, appelez AddParameterEntry pour ajouter les paramètres et les définir.
Ouvrez le jeu de lignes mais attribuez la valeur false au paramètre de liaison.
Appelez GetColumnInfo pour récupérer les colonnes de sortie. Utilisez AddBindEntry pour ajouter la colonne de sortie à la liaison.
Appelez GetNextResult pour déterminer si d'autres jeux de lignes sont disponibles. Répétez les étapes 2 à 5.
Pour obtenir un exemple d'accesseur manuel, consultez CDBListView::CallProcedure dans l'exemple DBVIEWER.