Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Conformità
Versione introdotta: Conformità agli standard ODBC 3.0: ISO 92
Sommario
SQLCloseCursor chiude un cursore che è stato aperto su un'istruzione e scarta i risultati in sospeso.
Sintassi
SQLRETURN SQLCloseCursor(
SQLHSTMT StatementHandle);
Arguments
StatementHandle
[Input] Handle di istruzione.
Returns
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR o SQL_INVALID_HANDLE.
Diagnostica
Quando SQLCloseCursor restituisce SQL_ERROR o SQL_SUCCESS_WITH_INFO, un valore SQLSTATE associato può essere ottenuto chiamando SQLGetDiagRec con un HandleType di SQL_HANDLE_STMT e un Handle di StatementHandle. La tabella seguente elenca i valori SQLSTATE comunemente restituiti da SQLCloseCursor e li spiega nel contesto di questa funzione; la notazione "(DM)" precede le descrizioni degli stati SQL restituite dal Driver Manager. Il codice restituito associato a ogni valore SQLSTATE è SQL_ERROR, a meno che non sia specificato diversamente.
| SQLSTATE | Error | Description |
|---|---|---|
| 01000 | Avviso generale | Messaggio informativo specifico del driver. (La funzione restituisce SQL_SUCCESS_WITH_INFO. |
| 24000 | Stato del cursore non valido | Nessun cursore era aperto sul HandleStatement. (Questo viene restituito solo da un ODBC 3. x driver.) |
| HY000 | Errore generale | Si è verificato un errore per il quale non è stato specificato SQLSTATE e per il quale non è stato definito alcun SQLSTATE specifico dell'implementazione. Il messaggio di errore restituito da SQLGetDiagRec nel buffer *MessageText descrive l'errore e la relativa causa. |
| HY001 | Errore di allocazione della memoria | Il driver non è riuscito ad allocare memoria necessaria per supportare l'esecuzione o il completamento della funzione. |
| HY010 | Errore della sequenza di funzioni | (DM) Una funzione in esecuzione asincrona veniva chiamata per il handle di connessione associato al StatementHandle ed era ancora in esecuzione quando questa funzione veniva chiamata. (DM) È stata chiamata una funzione in esecuzione asincrona per StatementHandle ed era ancora in esecuzione quando questa funzione è stata chiamata. (DM) SQLExecute, SQLExecDirect, SQLBulkOperations o SQLSetPos è stato chiamato per StatementHandle e restituito SQL_NEED_DATA. Questa funzione è stata chiamata prima dell'invio dei dati per tutti i parametri o le colonne data-at-execution. |
| HY013 | Errore di gestione della memoria | Impossibile elaborare la chiamata di funzione perché non è stato possibile accedere agli oggetti di memoria sottostanti, probabilmente a causa di condizioni di memoria insufficiente. |
| HY117 | La connessione viene sospesa a causa dello stato sconosciuto della transazione. Sono consentite solo funzioni disconnesse e di sola lettura. | (DM) Per altre informazioni sullo stato sospeso, vedere Funzione SQLEndTran. |
| HYT01 | Il timeout della connessione è scaduto | Periodo di timeout della connessione scaduto prima che l'origine dati rispondesse alla richiesta. Il periodo di timeout della connessione viene impostato tramite SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT. |
| IM001 | Il driver non supporta questa funzione | (DM) Il driver associato a StatementHandle non supporta la funzione. |
Comments
SQLCloseCursor restituisce SQLSTATE 24000 (Stato del cursore invalido) se nessun cursore è aperto. Chiamare SQLCloseCursor è equivalente a chiamare SQLFreeStmt con l'opzione SQL_CLOSE, con l'eccezione che SQLFreeStmt con SQL_CLOSE non ha effetto sull'applicazione se non è aperto un cursore sull'istruzione, mentre SQLCloseCursor restituisce SQLSTATE 24000 (stato del cursore invalido).
Note
Se è un ODBC 3. x applicazioni che funzionano con un ODBC 2. x chiama SQLCloseCursor quando non è aperto alcun cursore, SQLSTATE 24000 (Stato del cursore non valido) non viene restituito, perché il Driver Manager mappa SQLCloseCursor a SQLFreeStmt con SQL_CLOSE.
Per maggiori informazioni, vedi Chiusura del Cursore.
Esempio di codice
Vedi la funzione SQLBrowseConnect e la funzione SQLConnect.
Funzioni correlate
| Per informazioni su | Vedi |
|---|---|
| Annullamento dell'elaborazione delle istruzioni | Funzione SQLCancel |
| Liberare una maniglia | Funzione SQLFreeHandle |
| Elaborazione di più set di risultati | Funzione SQLMoreResults |