Partilhar via


Fechar o cursor

Quando uma aplicação termina de usar um cursor, chama SQLCloseCursor para fechar o cursor. Por exemplo:

SQLCloseCursor(hstmt);  

Até que a aplicação feche o cursor, a instrução sobre a qual o cursor é aberto não pode ser usada para a maioria das outras operações, como executar outra instrução SQL. Para uma lista completa de funções que podem ser chamadas enquanto um cursor está aberto, consulte o Apêndice B: Tabelas de Transição de Estado ODBC.

Observação

Para fechar um cursor, uma aplicação deve chamar SQLCloseCursor, e não SQLCancel.

Os cursores permanecem abertos até serem explicitamente fechados, exceto quando uma transação é confirmada ou anulada, caso em que ocorre o encerramento automático dos cursores por algumas fontes de dados. Em particular, ao chegar ao fim do conjunto de resultados, quando SQLFetch retorna SQL_NO_DATA, não fecha um cursor. Mesmo cursores em conjuntos de resultados vazios (conjuntos de resultados criados quando uma instrução foi executada com sucesso mas que não devolveu linhas) devem estar explicitamente fechados.