Chiusura del cursore

Al termine dell'uso di un cursore, un'applicazione chiama SQLCloseCursor per chiudere il cursore. Ad esempio:

SQLCloseCursor(hstmt);  

Finché l'applicazione non chiude il cursore, l'istruzione su cui viene aperto il cursore non può essere usata per la maggior parte delle altre operazioni, ad esempio l'esecuzione di un'altra istruzione SQL. Per un elenco completo delle funzioni che si possono chiamare mentre un cursore è aperto, vedere Appendice B: Tabelle di transizione di stato ODBC.

Nota

Per chiudere un cursore, un'applicazione deve chiamare SQLCloseCursor, non SQLCancel.

I cursori rimangono aperti fino a quando non vengono chiusi in modo esplicito, tranne quando viene eseguito il commit o il rollback di una transazione, nel qual caso alcune origini dati chiudono il cursore. In particolare, il raggiungimento della fine del set di risultati, quando SQLFetch restituisce SQL_NO_DATA, non chiude un cursore. Anche i cursori su set di risultati vuoti (set di risultati creati quando un'istruzione viene eseguita correttamente ma non ha restituito righe) devono essere chiusi in modo esplicito.