Verwenden von manuellen Accessoren
Bei der Behandlung eines unbekannten Befehls sollten vier Schritte ausgeführt werden:
Bestimmen der Parameter
Ausführen des Befehls
Bestimmen der Ausgabespalten
Überprüfen, ob mehrere Rowsets zurückgegeben werden
Wenn Sie hierfür die OLE DB-Consumervorlagen verwenden möchten, verwenden Sie die CManualAccessor-Klasse, und führen Sie die folgenden Schritte aus:
Öffnen Sie ein CCommand-Objekt mit CManualAccessor als Vorlagenparameter.
CCommand<CManualAccessor, CRowset, CMultipleResults> rs;
Fragen Sie die Sitzung nach der IDBSchemaRowset-Schnittstelle ab, und verwenden Sie das Rowset für die Prozeduren-Parameter. Wenn die IDBSchemaRowset-Schnittstelle nicht verfügbar ist, starten Sie eine Abfrage nach der ICommandWithParameters-Schnittstelle. Rufen Sie für Informationen GetParameterInfo auf. Wenn keine der Schnittstellen verfügbar ist, können Sie davon ausgehen, dass keine Parameter vorhanden sind.
Rufen Sie für jeden Parameter AddParameterEntry auf, um die Parameter hinzuzufügen und sie festzulegen.
Öffnen Sie das Rowset, legen Sie den Bindungsparameter jedoch auf false fest.
Rufen Sie GetColumnInfo auf, um die Ausgabespalten abzurufen. Verwenden Sie AddBindEntry, um die Ausgabespalten zum Binden hinzuzufügen.
Rufen Sie GetNextResult auf um zu bestimmen, ob weitere Rowsets verfügbar sind. Wiederholen Sie die Schritte 2 bis 5.
Ein Beispiel für einen manuellen Accessor finden Sie unter CDBListView::CallProcedure im Beispiel DBVIEWER.