Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Conformidade
Versão Introduzida: Conformidade com as Normas ODBC 3.0: ISO 92
Summary
SQLCloseCursor fecha um cursor que foi aberto em uma instrução e descarta os resultados pendentes.
Sintaxe
SQLRETURN SQLCloseCursor(
SQLHSTMT StatementHandle);
Argumentos
Identificador de declaração
[Entrada] Identificador de instrução.
Returns
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR ou SQL_INVALID_HANDLE.
Diagnostics
Quando SQLCloseCursor retorna SQL_ERROR ou SQL_SUCCESS_WITH_INFO, um valor SQLSTATE associado pode ser obtido chamando SQLGetDiagRec com um HandleType de SQL_HANDLE_STMT e um Handle de StatementHandle. A tabela a seguir lista os valores SQLSTATE comumente retornados pelo SQLCloseCursor e explica cada um no contexto dessa função; a notação "(DM)" precede as descrições dos SQLSTATEs retornadas pelo Gerenciador de Drivers. O código de retorno associado a cada valor SQLSTATE é SQL_ERROR, a menos que indicado de outra forma.
| SQLSTATE | Erro | DESCRIÇÃO |
|---|---|---|
| 01000 | Aviso geral | Mensagem informativa específica do driver. (A função retorna SQL_SUCCESS_WITH_INFO.) |
| 24000 | Estado de cursor inválido | Nenhum cursor estava aberto no HandleStatement. (Isso é retornado apenas por um ODBC 3. x driver.) |
| HY000 | Erro geral | Ocorreu um erro para o qual não havia SQLSTATE específico e para o qual nenhum SQLSTATE específico da implementação foi definido. A mensagem de erro retornada por SQLGetDiagRec no buffer *MessageText descreve o erro e sua causa. |
| HY001 | Erro de alocação de memória | O driver não pôde alocar a memória necessária para dar suporte à execução ou conclusão da função. |
| HY010 | Erro de sequência de função | (DM) Uma função de execução assíncrona era chamada para o handle de conexão associado ao StatementHandle e ainda estava executando quando essa função era chamada. (DM) Uma função de execução assíncrona foi chamada para o StatementHandle e ainda estava em execução quando essa função foi chamada. (DM) SQLExecute, SQLExecDirect, SQLBulkOperations ou SQLSetPos foi chamado para o StatementHandle e retornado SQL_NEED_DATA. Essa função foi chamada antes que os dados fossem enviados para todos os parâmetros ou colunas de dados em execução. |
| HY013 | Erro de gerenciamento de memória | A chamada de função não pôde ser processada porque os objetos de memória subjacentes não puderam ser acessados, possivelmente devido a condições de memória baixa. |
| HY117 | A conexão está suspensa devido ao estado desconhecido da transação. Somente funções de desconexão e somente leitura são permitidas. | (DM) Para obter mais informações sobre o estado suspenso, consulte Função SQLEndTran. |
| HYT01 | O tempo limite da conexão expirou | O período de tempo limite da conexão expirou antes que a fonte de dados respondesse à solicitação. O período de tempo limite da conexão é definido por meio de SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT. |
| IM001 | O driver não suporta esta função | (DM) O driver associado ao StatementHandle não dá suporte à função. |
Comments
SQLCloseCursor retorna SQLSTATE 24000 (estado do cursor inválido) se nenhum cursor estiver aberto. Chamar SQLCloseCursor é equivalente a chamar SQLFreeStmt com a opção SQL_CLOSE, com a exceção de que SQLFreeStmt com SQL_CLOSE não tem efeito na aplicação se nenhum cursor estiver aberto na instrução, enquanto SQLCloseCursor retorna SQLSTATE 24000 (estado do cursor inválido).
Note
Se for um ODBC 3. x funcionando com um ODBC 2. x chama SQLCloseCursor quando nenhum cursor está aberto, SQLSTATE 24000 (estado inválido do cursor) não é retornado, porque o Driver Manager mapeia SQLCloseCursor para SQLFreeStmt com SQL_CLOSE.
Para mais informações, veja Fechar o Cursor.
Exemplo de código
Veja Função SQLBrowseConnect e Função SQLConnect.
Funções relacionadas
| Para obter informações sobre | Veja |
|---|---|
| Cancelando o processamento de instruções | Função SQLCancel |
| Liberando uma alça | Função SQLFreeHandle |
| Processamento de múltiplos conjuntos de resultados | Função SQLMoreResults |