Freigeben über


Ergebnisverarbeitung

Wenn ein Rowsetobjekt durch die Ausführung eines Befehls oder vom Anbieter direkt erzeugt wird, dann muss der Consumer die Daten im Rowset abrufen und darauf zugreifen können.

Rowsets sind die zentralen Objekte, die es dem OLE DB-Anbieter von SQL Server Native Client ermöglichen, Daten in tabellarischer Form verfügbar zu machen. Grundsätzlich ist ein Rowset ein Satz von Zeilen, in dem jede Zeile Spaltendaten aufweist. Ein Rowsetobjekt macht Schnittstellen verfügbar wie IRowset (enthält Methoden zum sequenziellen Abrufen von Zeilen aus dem Rowset), IAccessor (lässt die Definition einer Gruppe von Spaltenbindungen zu, die beschreibt, wie die Tabellendaten an die Programmvariablen des Consumers gebunden werden sollen), IColumnsInfo (stellt Information zu den Spalten im Rowset bereith) und IRowsetInfo (stellt Information zum Rowset bereit).

Ein Consumer kann die IRowset::GetData-Methode aufrufen, um eine Datenzeile aus dem Rowset abzurufen und in einen Puffer einzufügen. Bevor GetData aufgerufen wird, beschreibt der Consumer den Puffer mit einem Satz von DBBINDING-Strukturen. Jede Bindung beschreibt, wie eine Spalte des Rowsets in einem Puffer des Consumer gespeichert werden soll, und enthält folgende Angaben:

  • Ordnungszahl der Spalte (oder des Parameters), auf den sich die Bindung bezieht

  • Informationen darüber, was gebunden wird (z. B. Datenwert, Länge der Daten und Bindungsstatus)

  • Informationen zur Größe des Offsets im Puffer zu jedem dieser Teile

  • Länge und den Typ der Datenwerte, die im Puffer des Consumers vorhanden sind

Beim Abruf der Daten bestimmt der Anbieter anhand der Informationen in jeder Bindung, wo und wie die Daten aus dem Puffer des Consumers abzurufen sind. Beim Einfügen der Daten in den Puffer des Consumers bestimmt der Anbieter anhand der Informationen in jeder Bindung, wo und wie die Daten in diesen Puffer einzufügen sind.

Nachdem die DBBINDING-Strukturen angegeben wurden, wird ein Accessor (IAccessor::CreateAccessor) erstellt. Ein Accessor ist eine Sammlung von Bindungen. Er dient zum Abrufen oder Einfügen von Daten in den Puffer des Consumers.