Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Cada função no ODBC devolve um código, conhecido como código de retorno, que indica o sucesso ou fracasso global da função. A lógica do programa baseia-se geralmente em códigos de retorno.
Por exemplo, o código seguinte chama SQLFetch para recuperar as linhas de um conjunto de resultados. Verifica o código de retorno da função para determinar se o fim do conjunto de resultados foi atingido (SQL_NO_DATA), se alguma informação de aviso foi devolvida (SQL_SUCCESS_WITH_INFO) ou se ocorreu um erro (SQL_ERROR).
SQLRETURN rc;
SQLHSTMT hstmt;
while ((rc=SQLFetch(hstmt)) != SQL_NO_DATA) {
if (rc == SQL_SUCCESS_WITH_INFO) {
// Call function to display warning information.
} else if (rc == SQL_ERROR) {
// Call function to display error information.
break;
}
// Process row.
}
O código de retorno SQL_INVALID_HANDLE indica sempre um erro de programação e nunca deve ser encontrado em tempo de execução. Todos os outros códigos de retorno fornecem informação em tempo de execução, embora SQL_ERROR possam indicar um erro de programação.
A tabela seguinte define os códigos de retorno.
| Código de retorno | Description |
|---|---|
| SQL_SUCCESS | Função concluída com sucesso. A aplicação chama SQLGetDiagField para recuperar informação adicional do registo do cabeçalho. |
| SQL_SUCCESS_WITH_INFO | Função concluída com sucesso, possivelmente com um erro não fatal (aviso). A aplicação chama SQLGetDiagRec ou SQLGetDiagField para obter informação adicional. |
| SQL_ERROR | A função falhou. A aplicação chama SQLGetDiagRec ou SQLGetDiagField para obter informação adicional. O conteúdo de quaisquer argumentos de saída da função é indefinido. |
| SQL_INVALID_HANDLE | A função falhou devido a um handle de ambiente, conexão, instrução ou descritor inválido. Isto indica um erro de programação. Não está disponível informação adicional em SQLGetDiagRec ou SQLGetDiagField. Este código é devolvido apenas quando o handle é um ponteiro nulo ou é do tipo errado, como quando um handle de instrução é passado para um argumento que requer um handle de conexão. |
| SQL_NO_DATA | Não havia mais dados disponíveis. A aplicação chama SQLGetDiagRec ou SQLGetDiagField para obter informação adicional. Um ou mais registos de estado definidos pelo controlador na classe 02xxx podem ser retornados. Nota: No ODBC 2. X, este código de retorno foi chamado SQL_NO_DATA_FOUND. |
| SQL_NEED_DATA | São necessários mais dados, como quando os dados dos parâmetros são enviados na altura da execução ou quando é necessária informação adicional de ligação. A aplicação chama SQLGetDiagRec ou SQLGetDiagField para obter informação adicional, se houver. |
| SQL_STILL_EXECUTING | Uma função que foi iniciada de forma assíncrona continua a ser executada. A aplicação chama SQLGetDiagRec ou SQLGetDiagField para obter informação adicional, se houver. |