Ausführen von Abfragen (ODBC)

Nachdem eine ODBC-Anwendung ein Verbindungshandle initialisiert und eine Verbindung zu einer Datenquelle hergestellt hat, weist sie dem Verbindungshandle ein oder mehrere Anweisungshandles zu. Die Anwendung kann dann Microsoft SQL Server-Anweisungen über das Anweisungshandle ausführen. Die übliche Reihenfolge bei der Ausführung einer SQL-Anweisung ist:

  1. Festlegen aller erforderlichen Anweisungsattribute.

  2. Erstellen der Anweisung.

  3. Ausführen der Anweisung.

  4. Abrufen der Resultsets.

Erst nachdem eine Anwendung alle Zeilen in sämtlichen von der SQL-Anweisung zurückgegebenen Resultsets abgerufen hat, kann sie eine weitere Abfrage über dasselbe Anweisungshandle ausführen. Stellt eine Anwendung fest, dass nicht alle Zeilen aus einem bestimmten Resultset abgerufen werden müssen, kann sie den Rest des Resultsets abbrechen, indem sie entweder SQLMoreResults oder SQLCloseCursor aufruft.

Wenn Sie in einer ODBC-Anwendung dieselbe SQL-Anweisung mehrfach mit unterschiedlichen Daten ausführen müssen, verwenden Sie bei der Erstellung der SQL-Anweisung eine Parametermarkierung in Form eines Fragezeichens (?):

INSERT INTO MyTable VALUES (?, ?, ?)

Jede Parametermarkierung kann dann an eine Programmvariable gebunden werden, indem SQLBindParameter aufgerufen wird.

Nachdem alle SQL-Anweisungen ausgeführt und ihre Resultsets verarbeitet wurden, gibt die Anwendung das Anweisungshandle frei.

Der SQL Server Native Client-ODBC-Treiber unterstützt mehrere Anweisungshandles pro Verbindungshandle. Transaktionen werden auf Verbindungsebene verwaltet. Das bedeutet, dass alle über sämtliche Anweisungshandles auf einem einzelnen Verbindungshandle ausgeführten Arbeiten als Bestandteil derselben Transaktion verwaltet werden.