Verwenden von manuellen Accessoren
Bei der Behandlung eines unbekannten Befehls müssen vier Aktionen ausgeführt werden:
Bestimmen der Parameter
Ausführen des Befehls
Bestimmen der Ausgabespalten
Überprüfen, ob mehrere Rückgabe-Rowsets vorhanden sind
Um diese Aktionen mit den OLE DB Consumer Templates auszuführen, verwenden Sie die Klasse, und führen Sie die CManualAccessor
folgenden Schritte aus:
Öffnen Sie ein
CCommand
Objekt mitCManualAccessor
einem Vorlagenparameter.CCommand<CManualAccessor, CRowset, CMultipleResults> rs;
Abfragen der Sitzung für die
IDBSchemaRowset
Schnittstelle und Verwenden des Prozedurparameter-Rowsets. Wenn dieIDBSchemaRowset
Schnittstelle nicht verfügbar ist, fragen Sie dieICommandWithParameters
Schnittstelle ab. Rufen SieGetParameterInfo
nach Informationen auf. Wenn keine Schnittstelle verfügbar ist, können Sie davon ausgehen, dass keine Parameter vorhanden sind.Rufen Sie für jeden Parameter auf
AddParameterEntry
, um die Parameter hinzuzufügen und festzulegen.Öffnen Sie das Rowset, legen Sie aber den Bindungsparameter auf
false
.Rufen Sie
GetColumnInfo
auf, um die Ausgabespalten abzurufen. DientAddBindEntry
zum Hinzufügen der Ausgabespalte zur Bindung.Rufen Sie auf
GetNextResult
, um zu ermitteln, ob weitere Rowsets verfügbar sind. Wiederholen Sie die Schritte 2 bis 5.
Ein Beispiel für einen manuellen Accessor finden Sie CDBListView::CallProcedure
im DBVIEWER-Beispiel .