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 |
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.
In diesem Abschnitt