Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Ogni funzione in ODBC restituisce un codice, noto come codice restituito, che indica l'esito positivo o negativo complessivo della funzione. La logica del programma è in genere basata sui codici restituiti.
Ad esempio, il codice seguente chiama SQLFetch per recuperare le righe in un set di risultati. Controlla il codice restituito della funzione per determinare se è stata raggiunta la fine del set di risultati (SQL_NO_DATA), se sono state restituite informazioni di avviso (SQL_SUCCESS_WITH_INFO) o se si è verificato un errore (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.
}
Il codice restituito SQL_INVALID_HANDLE indica sempre un errore di programmazione e non deve mai essere rilevato in fase di esecuzione. Tutti gli altri codici restituiti forniscono informazioni di runtime, anche se SQL_ERROR può indicare un errore di programmazione.
La tabella seguente definisce i codici restituiti.
| Codice restituito | Description |
|---|---|
| SQL_SUCCESS | La funzione è stata completata correttamente. L'applicazione invoca SQLGetDiagField per ottenere informazioni aggiuntive dal record di intestazione. |
| SQL_SUCCESS_WITH_INFO | La funzione è stata completata correttamente, possibilmente con un errore non irreversibile (avviso). L'applicazione chiama SQLGetDiagRec o SQLGetDiagField per recuperare informazioni aggiuntive. |
| SQL_ERROR | La funzione non è riuscita. L'applicazione chiama SQLGetDiagRec o SQLGetDiagField per recuperare informazioni aggiuntive. Il contenuto di tutti gli argomenti di output per la funzione non è definito. |
| SQL_INVALID_HANDLE | La funzione non è riuscita a causa di un handle di ambiente, connessione, istruzione o descrittore non valido. Indica un errore di programmazione. Non sono disponibili informazioni aggiuntive da SQLGetDiagRec o SQLGetDiagField. Questo codice viene restituito solo quando l'handle è un puntatore null o è di un tipo errato, ad esempio quando un handle di istruzione viene passato come argomento che richiede un handle di connessione. |
| SQL_NO_DATA | Non erano disponibili altri dati. L'applicazione chiama SQLGetDiagRec o SQLGetDiagField per recuperare informazioni aggiuntive. È possibile che vengano restituiti uno o più record di stato definiti dal driver nella classe 02xxx. Nota: In ODBC 2. x, questo codice restituito è stato denominato SQL_NO_DATA_FOUND. |
| SQL_NEED_DATA | Sono necessari più dati, ad esempio quando i dati dei parametri vengono inviati in fase di esecuzione o sono necessarie informazioni aggiuntive sulla connessione. L'applicazione chiama SQLGetDiagRec o SQLGetDiagField per recuperare informazioni aggiuntive, se presenti. |
| SQL_STILL_EXECUTING | Una funzione avviata in modo asincrono è ancora in esecuzione. L'applicazione chiama SQLGetDiagRec o SQLGetDiagField per recuperare informazioni aggiuntive, se presenti. |