Freigeben über


Befehle und Tabellen

Aktualisiert: November 2007

Mithilfe von Befehlen und Tabellen können Sie auf Rowsets zugreifen, d. h., Sie können Rowsets öffnen, Befehle ausführen und Spalten binden. Die CCommand-Klasse und die CTable-Klasse instanziieren die entsprechenden Befehls- und Tabellenobjekte. Diese Klassen werden aus CAccessorRowset abgeleitet, wie in der folgenden Abbildung gezeigt wird.

Befehls- und Tabellenklassen

In der oben stehenden Tabelle kann TAccessor jeder unter Accessortypen aufgelistete Accessortyp sein. TRowset kann jeder unter Rowsettypen aufgelistete Rowsettyp sein. TMultiple gibt den Ergebnistyp an (ein einzelnes oder mehrere Resultsets).

Der ATL-OLE DB-Consumer-Assistent ermöglicht es Ihnen anzugeben, ob Sie ein Befehls- oder ein Tabellenobjekt wünschen.

  • Für Datenquellen ohne Befehle können Sie die CTable-Klasse verwenden. Sie wird gewöhnlich für einzelne Rowsets verwendet, die keine Parameter angeben und nicht mehrere Ergebnisse benötigen. Diese einfache Klasse öffnet eine Tabelle in einer Datenquelle unter Verwendung eines von Ihnen festgelegten Tabellennamens.

  • Für Datenquellen, die Befehle unterstützen, können Sie stattdessen die CCommand-Klasse verwenden. Um einen Befehl auszuführen, rufen Sie in dieser Klasse Open auf. Alternativ hierzu können Sie Prepare aufrufen, um einen Befehl vorzubereiten, den Sie mehr als einmal ausführen möchten.

    CCommand besitzt drei Vorlagenargumente: einen Accessortyp, einen Rowsettyp und einen Ergebnistyp (standardmäßig CNoMultipleResults oder CMultipleResults). Wenn Sie CMultipleResults festlegen, unterstützt die CCommand-Klasse die IMultipleResults-Schnittstelle und behandelt mehrere Rowsets. Im Beispiel DBVIEWER wird die Behandlung mehrerer Ergebnisse gezeigt.

Siehe auch

Konzepte

OLE DB-Consumervorlagen (C++)