Freigeben über


Schließen des Cursors

Wenn eine Anwendung die Verwendung eines Cursors abgeschlossen hat, ruft sie SQLCloseCursor auf, um den Cursor zu schließen. Beispiel:

SQLCloseCursor(hstmt);  

Bis die Anwendung den Cursor schließt, kann die Anweisung, auf der der Cursor geöffnet wird, nicht für die meisten anderen Vorgänge verwendet werden, z. B. das Ausführen einer anderen SQL-Anweisung. Eine vollständige Liste der Funktionen, die aufgerufen werden können, während ein Cursor geöffnet ist, finden Sie in Anhang B: ODBC-Statusübergangstabellen.

Hinweis

Zum Schließen eines Cursors sollte eine Anwendung SQLCloseCursor aufrufen, nicht SQLCancel.

Cursor werden erneut geöffnet Standard bis sie explizit geschlossen werden, außer wenn eine Transaktion zugesichert oder zurückgesetzt wird. In diesem Fall schließen einige Datenquellen den Cursor. Wenn SQLFetch SQL_NO_DATA zurückgibt, wird insbesondere das Ende des Resultsets nicht geschlossen. Gerade Cursor für leere Resultsets (Resultsets, die erstellt werden, wenn eine Anweisung erfolgreich ausgeführt wurde, die jedoch keine Zeilen zurückgegeben hat) müssen explizit geschlossen werden.