Verwenden von Cursorn (ODBC)

ODBC unterstützt ein Cursormodell, das Folgendes zulässt:

  • Mehrere Typen von Cursorn

  • Das Scrollen und Positionieren innerhalb eines Cursors

  • Mehrere Parallelitätsoptionen

  • Positionierte Aktualisierungen

ODBC-Anwendungen deklarieren und öffnen Cursor oder verwenden cursorspezifische Transact-SQL-Anweisungen nur selten. ODBC öffnet automatisch einen Cursor für jedes Resultset, das von einer SQL-Anweisung zurückgegeben wird. Die Charakteristika der Cursor werden von Anweisungsattributen gesteuert, die vor dem Ausführen der SQL-Anweisung mithilfe von SQLSetStmtAttr festgelegt werden. Die ODBC-API-Funktionen zum Verarbeiten der Resultsets unterstützen sämtliche Cursorfunktionalitäten einschließlich Abrufen, Scrollen und positionierte Aktualisierung.

Dies ist ein Vergleich der Funktionsweise von Cursorn in Transact-SQL-Skripts und ODBC-Anwendungen.

Aktion

Transact-SQL

ODBC

Definieren des Cursorverhaltens

Angeben durch DECLARE CURSOR-Parameter

Festlegen der Cursorattribute mithilfe von SQLSetStmtAttr

Öffnen eines Cursors

DECLARE CURSOR OPEN cursorname

SQLExecDirect oder SQLExecute

Abrufen von Zeilen

FETCH

SQLFetch oder SQLFetchScroll

Positionierte Aktualisierung

WHERE CURRENT OF-Klausel mit UPDATE oder DELETE

SQLSetPos

Schließen eines Cursors

CLOSE cursorname DEALLOCATE

'SQLCloseCursor'

Die in SQL Server implementierten Servercursor unterstützen die Funktionalität des ODBC-Cursormodells. Der SQL Server Native-Client-Treiber verwendet Servercursor, um die Cursorfunktionalität der ODBC-API zu unterstützen.