Condividi tramite


Transizioni di istruzione

Le istruzioni ODBC hanno gli stati seguenti.

Provincia Descrizione
S0 Istruzione non allocata. Lo stato della connessione deve essere C4, C5 o C6. Per altre informazioni, vedere Transizioni di connessione.
S1 Istruzione allocata.
S2 Istruzione preparata. Non verrà creato alcun set di risultati.
S3 Istruzione preparata. Verrà creato un set di risultati (possibilmente vuoto).
S4 Istruzione eseguita e non è stato creato alcun set di risultati.
S5 L'istruzione eseguita e un set di risultati (possibilmente vuoto) è stato creato. Il cursore è aperto e posizionato prima della prima riga del set di risultati.
S6 Cursore posizionato con SQLFetch o SQLFetchScroll.
S7 Cursore posizionato con SQLExtendedFetch.
S8 La funzione necessita di dati. SQLParamData non è stato chiamato.
S9 La funzione necessita di dati. SQLPutData non è stato chiamato.
S10 La funzione necessita di dati. SQLPutData è stato chiamato.
S11 Ancora in esecuzione. Un'istruzione viene lasciata in questo stato dopo che una funzione eseguita restituisce SQL_STILL_EXECUTING in modo asincrono. Un'istruzione è temporaneamente in questo stato mentre è in esecuzione qualsiasi funzione che accetta un handle di istruzione. La residenza temporanea nello stato S11 non viene visualizzata in alcuna tabella di stato ad eccezione della tabella di stato per SQLCancel. Mentre un'istruzione è temporaneamente nello stato S11, la funzione può essere annullata chiamando SQLCancel da un altro thread.
S12 Esecuzione asincrona annullata. In S12, un'applicazione deve chiamare la funzione annullata fino a quando non restituisce un valore diverso da SQL_STILL_EXECUTING. La funzione è stata annullata correttamente solo se la funzione restituisce SQL_ERROR e SQLSTATE HY008 (operazione annullata). Se restituisce qualsiasi altro valore, ad esempio SQL_SUCCESS, l'operazione di annullamento non è riuscita e la funzione viene eseguita normalmente.

Gli stati S2 e S3 sono noti come stati preparati, stati da S5 a S7 come stati del cursore, da S8 a S10 come stati dei dati necessari e stati S11 e S12 come stati asincroni. In ognuno di questi gruppi le transizioni vengono visualizzate separatamente solo quando sono diverse per ogni stato nel gruppo; nella maggior parte dei casi, le transizioni per ogni stato in ogni gruppo sono uguali.

Nelle tabelle seguenti viene illustrato come ogni funzione ODBC influisce sullo stato dell'istruzione.

SQLAllocHandle

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
--[1], [5], [6] --[5] --[5] --[5] --[5] --[5] --[5]
--[2], [5] --[5] --[5] --[5] --[5] --[5] --[5]
S1[3] --[5] --[5] --[5] --[5] --[5] --[5]
--[4], [5] --[5] --[5] --[5] --[5] --[5] --[5]

[1] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_ENV.

[2] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_DBC.

[3] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_STMT.

[4] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_DESC.

[5] La chiamata di SQLAllocHandle con OutputHandlePtr punta a un handle valido sovrascrive che gestisce senza considerare il contenuto precedente di tale handle e potrebbe causare problemi per i driver ODBC. La programmazione dell'applicazione ODBC non è corretta per chiamare SQLAllocHandle due volte con la stessa variabile dell'applicazione definita per *OutputHandlePtr senza chiamare SQLFreeHandle per liberare l'handle prima di riallocare l'handle. La sovrascrittura di handle ODBC in questo modo può causare comportamenti incoerenti o errori nella parte dei driver ODBC.

SQLBindCol

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH -- -- -- -- HY010 HY010

SQLBindParameter

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH -- -- -- -- HY010 HY010

SQLBrowseConnect, SQLConnect e SQLDriverConnect

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
08002 08002 08002 08002 08002 08002 08002

Sqlbulkoperations

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH HY010 HY010 24000 Vedere la tabella successiva HY010 NS [c] HY010 o

SQLBulkOperations (stati del cursore)

S5

Aperto
S6

SQLFetch o SQLFetchScroll
S7

Sqlextendedfetch
-- [s] S8 [d] S11 [x] -- [s] S8 [d] S11 [x] HY010

SQLCancel

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH -- -- -- -- S1[1] S2 [nr] e [2] S3 [r]e [2] S5[3] e [5] S6([3] o [4]) e [6] S7[4] e [7] Vedere la tabella successiva

[1] SQLExecDirect ha restituito SQL_NEED_DATA.

[2] SQLExecute ha restituito SQL_NEED_DATA.

[3] SQLBulkOperations ha restituito SQL_NEED_DATA.

[4] SQLSetPos ha restituito SQL_NEED_DATA.

[5] SQLFetch, SQLFetchScroll o SQLExtendedFetch non è stato chiamato.

[6] SQLFetch o SQLFetchScroll era stato chiamato.

[7] SQLExtendedFetch era stato chiamato.

SQLCancel (stati asincroni)

S11

Ancora in esecuzione
S12

Asynch annullato
NS[1] S12[2] S12

[1] L'istruzione era temporaneamente nello stato S11 durante l'esecuzione di una funzione. SQLCancel è stato chiamato da un thread diverso.

[2] L'istruzione era nello stato S11 perché una funzione chiamata restituita in modo asincrono SQL_STILL_EXECUTING.

SQLCloseCursor

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH 24000 24000 24000 S1 [np] S3 [p] HY010 HY010

SQLColAttribute

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH HY010 Vedere la tabella successiva 24000 -- [s] S11 [x] HY010 NS [c] HY010 o

SQLColAttribute (Stati preparati)

S2

Nessun risultato
S3

Risultati
--[1] 07005[2] -- [s] S11 x

[1] FieldIdentifier è stato SQL_DESC_COUNT.

[2] FieldIdentifier non è stato SQL_DESC_COUNT.

SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges e SQLTables

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
(IH) S5 [s] S11 [x] S1 [e] S5 [s] S11 [x] S1 [e] e [1] S5 [s] e [1] S11 [x] e [1] 24000[2] Vedere la tabella successiva HY010 NS [c] HY010 o

[1] Il risultato corrente è l'ultimo risultato o solo oppure non sono presenti risultati correnti. Per altre informazioni su più risultati, vedere Più risultati.

[2] Il risultato corrente non è l'ultimo risultato.

SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges e SQLTables (Stati del cursore)

S5

Aperto
S6

SQLFetch o SQLFetchScroll
S7

Sqlextendedfetch
24000 24000[1] 24000

[1] Questo errore viene restituito da Gestione driver se SQLFetch o SQLFetchScroll non ha restituito SQL_NO_DATA e viene restituito dal driver se SQLFetch o SQLFetchScroll ha restituito SQL_NO_DATA.

SQLCopyDesc

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH[1] -- -- -- -- HY010 NS [c] e [3] HY010 [o] o [4]
IH[2] HY010 Vedere la tabella successiva 24000 -- [s] S11 x HY010 NS [c] e [3] HY010 [o] o [4]

[1] Questa riga mostra le transizioni quando l'argomento SourceDescHandle è un ARD, APD o IPD.

[2] Questa riga mostra le transizioni quando l'argomento SourceDescHandle era un IRD.

[3] Gli argomenti SourceDescHandle e TargetDescHandle erano gli stessi della funzione SQLCopyDesc in esecuzione in modo asincrono.

[4] L'argomento SourceDescHandle o l'argomento TargetDescHandle (o entrambi) erano diversi rispetto alla funzione SQLCopyDesc in esecuzione in modo asincrono.

SQLCopyDesc (Stati preparati)

S2

Nessun risultato
S3

Risultati
24000[1] -- [s] S11 [x]

[1] Questa riga mostra le transizioni quando l'argomento SourceDescHandle era un IRD.

SQLDataSources e SQLDrivers

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
-- -- -- -- -- -- --

SQLDescribeCol

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH HY010 Vedere la tabella successiva 24000 -- [s] S11 [x] HY010 NS [c] HY010 o

SQLDescribeCol (Stati preparati)

S2

Nessun risultato
S3

Risultati
07005 -- [s] S11 [x]

SQLDescribeParam

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH HY010 -- [s] S11 [x] HY010 HY010 HY010 NS [c] HY010 [o]

Sqldisconnect

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
--[1] S0[1] S0[1] S0[1] S0[1] (HY010) (HY010)

[1] La chiamata a SQLDisconnect libera tutte le istruzioni associate alla connessione. Inoltre, questo restituisce lo stato di connessione a C2; lo stato della connessione deve essere C4 prima che lo stato dell'istruzione sia S0.

SQLEndTran

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
-- -- --[2] o [3] S1[1] --[3] S1 [np] e ([1] o [2]) S1 [p] e [1] S2 [p] e [2] --[3] S1 [np] e ([1] o [2]) S1 [p] e [1] S3 [p] e [2] (HY010) (HY010)

[1] L'argomento CompletionType è SQL_COMMIT e SQLGetInfo restituisce SQL_CB_DELETE per il tipo di informazioni SQL_CURSOR_COMMIT_BEHAVIOR oppure l'argomento CompletionType è SQL_ROLLBACK e SQLGetInfo restituisce SQL_CB_DELETE per il tipo di informazioni SQL_CURSOR_ROLLBACK_BEHAVIOR.

[2] L'argomento CompletionType è SQL_COMMIT e SQLGetInfo restituisce SQL_CB_CLOSE per il tipo di informazioni SQL_CURSOR_COMMIT_BEHAVIOR oppure l'argomento CompletionType è SQL_ROLLBACK e SQLGetInfo restituisce SQL_CB_CLOSE per il tipo di informazioni SQL_CURSOR_ROLLBACK_BEHAVIOR.

[3] L'argomento CompletionType è SQL_COMMIT e SQLGetInfo restituisce SQL_CB_PRESERVE per il tipo di informazioni SQL_CURSOR_COMMIT_BEHAVIOR oppure l'argomento CompletionType è SQL_ROLLBACK e SQLGetInfo restituisce SQL_CB_PRESERVE per il tipo di informazioni SQL_CURSOR_ROLLBACK_BEHAVIOR.

SQLExecDirect

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
(IH) S4 [s] e [nr] S5 [s] e [r] S8 [d] S11 [x] -- [e] e [1] S1 [e] e [2] S4 [s] e [nr] S5 [s] e [r] S8 [d] S11 [x] -- [e], [1], e [3] S1 [e], [2], e [3] S4 [s], [nr], e [3] S5 [s], [r], e [3] S8 [d] e [3] S11 [x] e [3] 24000 [4] Vedere la tabella successiva HY010 NS [c] HY010 [o]

[1] L'errore è stato restituito da Gestione driver.

[2] L'errore non è stato restituito da Gestione driver.

[3] Il risultato corrente è l'ultimo o solo risultato oppure non sono presenti risultati correnti. Per altre informazioni su più risultati, vedere Più risultati.

[4] Il risultato corrente non è l'ultimo risultato.

SQLExecDirect (stati del cursore)

S5

Aperto
S6

SQLFetch o SQLFetchScroll
S7

Sqlextendedfetch
24000 24000 [1] 24000

[1] Questo errore viene restituito da Gestione driver se SQLFetch o SQLFetchScroll non ha restituito SQL_NO_DATA e viene restituito dal driver se SQLFetch o SQLFetchScroll ha restituito SQL_NO_DATA.

SQLExecute

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
(IH) (HY010) Vedere la tabella successiva S2 [e], p, e [1] S4 [s], [p], [nr], e [1] S5 [s], [p], [r], e [1] S8 [d], [p], e [1] S11 [x], [p], e [1] 24000 [p] e [2] HY010 [np] Vedere la tabella degli stati del cursore HY010 NS [c] HY010 [o]

[1] Il risultato corrente è l'ultimo risultato o solo oppure non sono presenti risultati correnti. Per altre informazioni su più risultati, vedere Più risultati.

[2] Il risultato corrente non è l'ultimo risultato.

SQLExecute (Stati preparati)

S2

Nessun risultato
S3

Risultati
S4 [s] S8 [d] S11 [x] S5 [s] S8 [d] S11 [x]

SQLExecute (stati del cursore)

S5

Aperto
S6

SQLFetch o SQLFetchScroll
S7

Sqlextendedfetch
24000 [p] HY010 [np] 24000 [p], [1] HY010 [np] 24000 [p] HY010 [np]

[1] Questo errore viene restituito da Gestione driver se SQLFetch o SQLFetchScroll non ha restituito SQL_NO_DATA e viene restituito dal driver se SQLFetch o SQLFetchScroll ha restituito SQL_NO_DATA.

Sqlextendedfetch

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH S1010 S1010 24000 Vedere la tabella successiva S1010 NS [c] S1010 [o]

SQLExtendedFetch (stati del cursore)

S5

Aperto
S6

SQLFetch o SQLFetchScroll
S7

Sqlextendedfetch
S7 [s] o [nf] S11 [x] S1010 -- [s] o [nf] S11 [x]

SQLFetch e SQLFetchScroll

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH HY010 HY010 24000 Vedere la tabella successiva HY010 NS [c] HY010 [o]

SQLFetch e SQLFetchScroll (stati del cursore)

S5

Aperto
S6

SQLFetch o SQLFetchScroll
S7

Sqlextendedfetch
S6 [s] o [nf] S11 [x] -- [s] o [nf] S11 [x] HY010

SQLFreeHandle

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
-- [1] HY010 HY010 HY010 HY010 HY010 HY010
IH [2] S0 S0 S0 S0 HY010 HY010
-- [3] -- -- -- -- -- --

[1] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_ENV o SQL_HANDLE_DBC.

[2] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_STMT.

[3] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_DESC e il descrittore è stato allocato in modo esplicito.

SQLFreeStmt

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH [1] -- -- S1 [np] S2 [p] S1 [np] S3 [p] HY010 HY010
IH [2] -- -- -- -- HY010 HY010

[1] Questa riga mostra le transizioni quando Option è stato SQL_CLOSE.

[2] Questa riga mostra le transizioni quando Option è stato SQL_UNBIND o SQL_RESET_PARAMS. Se l'argomento Option è stato SQL_DROP e il driver sottostante è un driver ODBC 3*.x*, Gestione driver esegue il mapping a una chiamata a SQLFreeHandle con HandleType impostato su SQL_HANDLE_STMT. Per altre informazioni, vedere la tabella di transizione per SQLFreeHandle.

SQLGetConnectAttr

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
-- -- -- -- -- -- --

SQLGetCursorName

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH -- -- -- -- HY010 HY010

SQLGetData

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH HY010 HY010 24000 Vedere la tabella successiva HY010 NS [c] HY010 [o]

SQLGetData (stati del cursore)

S5

Aperto
S6

SQLFetch o SQLFetchScroll
S7

Sqlextendedfetch
24000 -- [s] o [nf] S11 [x] 24000 [b] HY109 [i] -- [s] o [nf] S11 [x] 24000 [b] HY109 [i]

SQLGetDescField e SQLGetDescRec

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH -- [1] o [2] HY010 [3] Vedere la tabella successiva -- [1] o [2] 24000 [3] -- [1], [2], o [3] S11 [3] e [x] HY010 NS [c] o [4] HY010 [o] e [5]

[1] L'argomento DescriptorHandle era APD o ARD.

[2] L'argomento DescriptorHandle era un IPD.

[3] L'argomento DescriptorHandle era un IRD.

[4] L'argomento DescriptorHandle corrisponde all'argomento DescriptorHandle nella funzione SQLGetDescField o SQLGetDescRec in esecuzione in modo asincrono.

[5] L'argomento DescriptorHandle era diverso dall'argomento DescriptorHandle nella funzione SQLGetDescField o SQLGetDescRec in esecuzione in modo asincrono.

SQLGetDescField e SQLGetDescRec (Stati preparati)

S2

Nessun risultato
S3

Risultati
--[1], [2]o [3] S11[2] e [x] --[1], [2]o [3] S11 [x]

[1] L'argomento DescriptorHandle era APD o ARD.

[2] L'argomento DescriptorHandle era un IPD.

[3] L'argomento DescriptorHandle era un IRD. Si noti che queste funzioni restituiscono sempre SQL_NO_DATA nello stato S2 quando DescriptorHandle era un IRD.

SQLGetDiagField e SQLGetDiagRec

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
--[1] -- -- -- -- -- --
IH[2] --[3] --[3] -- -- --[3] --[3]

[1] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_ENV, SQL_HANDLE_DBC o SQL_HANDLE_DESC.

[2] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_STMT.

[3] SQLGetDiagField restituisce sempre un errore in questo stato quando DiagIdentifier è SQL_DIAG_ROW_COUNT.

SQLGetEnvAttr

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
-- -- -- -- -- -- --

SQLGetFunctions

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
-- -- -- -- -- -- --

SQLGetInfo

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
-- -- -- -- -- -- --

SQLGetStmtAttr

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH --[1] 24000[2] --[1] 24000[2] --[1] 24000[2] Vedere la tabella successiva HY010 HY010

[1] L'attributo di istruzione non è stato SQL_ATTR_ROW_NUMBER.

[2] L'attributo di istruzione è stato SQL_ATTR_ROW_NUMBER.

SQLGetStmtAttr (stati del cursore)

S5

Aperto
S6

SQLFetch o SQLFetchScroll
S7

Sqlextendedfetch
--[1] 24000[2] --[1] or ([v] e [2]) 24000 [b] e [2] HY109 [i] e [2] -- [i] o ([v] e [2]) 24000 [b] e [2] HY109[1] e [2]

[1] L'argomento Attribute non è stato SQL_ATTR_ROW_NUMBER.

[2] L'argomento Attribute è stato SQL_ATTR_ROW_NUMBER.

SQLMoreResults

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
(IH) --[1] --[1] -- [s] e [2] S1 [nf], [np], e [4] S2 [nf], [p], e [4] S5 [s] e [3] S11 [x] S1 [nf], [np], e [4] S3 [nf], [p] e [4] S4 [s] e [2] S5 [s] e [3] S11 [x] HY010 NS [c] HY010 [o]

[1] La funzione restituisce sempre SQL_NO_DATA in questo stato.

[2] Il risultato successivo è un conteggio delle righe.

[3] Il risultato successivo è un set di risultati.

[4] Il risultato corrente è l'ultimo risultato.

SQLNativeSql

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
-- -- -- -- -- -- --

SQLNumParams

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH HY010 -- [s] S11 [x] -- [s] S11 [x] -- [s] S11 [x] HY010 NS [c] HY010 [o]

SQLNumResultCols

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH HY010 -- [s] S11 [x] -- [s] S11 [x] -- [s] S11 [x] HY010 NS [c] HY010 [o]

SQLParamData

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH HY010 HY010 HY010 HY010 Vedere la tabella successiva NS [c] HY010 [o]

SQLParamData (sono necessari gli stati dei dati)

S8

Dati necessari
S9

Deve mettere
S10

Può mettere
S1 [e] e [1] S2 [e], [nr], e [2] S3 [e], [r], e [2] S5 [e] e [4] S6 [e] e [5] S7 [e] e [3] S9 [d] S11 [x] HY010 S1 [e] e [1] S2 [e], [nr], e [2] S3 [e], [r], e [2] S4 [s], [nr], and ([1] or [2]) S5 [s], [r], and ([1] or [2]) S5 ([s] or [e]) e [4] S6 ([s] or [e]) e [5] S7 ([s] or [e]) e [3] S9 [d] S11 [x]

[1] SQLExecDirect ha restituito SQL_NEED_DATA.

[2] SQLExecute ha restituito SQL_NEED_DATA.

[3] SQLSetPos era stato chiamato dallo stato S7 e restituito SQL_NEED_DATA.

[4] SQLBulkOperations era stato chiamato dallo stato S5 e restituito SQL_NEED_DATA.

[5] SQLSetPos o SQLBulkOperations erano stati chiamati dallo stato S6 e restituiti SQL_NEED_DATA.

SQLPrepare

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
(IH) S2 [s] e [nr] S3 [s] e [r] S11 [x] -- [s] o ([e] e [1]) S1 [e] e [2] S11 [x] S1 [e] e [3] S2 [s], [nr], e [3] S3 [s], [r], e [3] S11 [x] e [3] 24000[4] Vedere la tabella successiva HY010 NS [c] HY010 [o]

[1] La preparazione non riesce per un motivo diverso dalla convalida dell'istruzione (SQLSTATE era HY009 [Valore argomento non valido] o HY090 [Stringa o lunghezza buffer non valida]).

[2] La preparazione non riesce durante la convalida dell'istruzione (SQLSTATE non era HY009 [Valore argomento non valido] o HY090 [Stringa o lunghezza buffer non valida]).

[3] Il risultato corrente è l'ultimo o solo risultato oppure non sono presenti risultati correnti. Per altre informazioni su più risultati, vedere Più risultati.

[4] Il risultato corrente non è l'ultimo risultato.

SQLPrepare (stati del cursore)

S5

Aperto
S6

SQLFetch o SQLFetchScroll
S7

Sqlextendedfetch
24000 24000 24000

SQLPutData

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH HY010 HY010 HY010 HY010 Vedere la tabella successiva NS [c] HY010 [o]

SQLPutData (sono necessari gli stati dei dati)

S8

Dati necessari
S9

Deve mettere
S10

Può mettere
HY010 S1 [e] e [1] S2 [e], [nr], e [2] S3 [e], [r], e [2] S5 [e] e [4] S6 [e] e [5] S7 [e] e [3] S10 [s] S11 [x] -- [s] S1 [e] e [1] S2 [e], [nr], e [2] S3 [e], [r], e [2] S5 [e] e [4] S6 [e] e [5] S7 [e] e [3] S11 [x] HY011[6]

[1] SQLExecDirect ha restituito SQL_NEED_DATA.

[2] SQLExecute ha restituito SQL_NEED_DATA.

[3] SQLSetPos era stato chiamato dallo stato S7 e restituito SQL_NEED_DATA.

[4] SQLBulkOperations era stato chiamato dallo stato S5 e restituito SQL_NEED_DATA.

[5] SQLSetPos o SQLBulkOperations erano stati chiamati dallo stato S6 e restituiti SQL_NEED_DATA.

[6] Una o più chiamate a SQLPutData per un singolo parametro restituito SQL_SUCCESS, quindi è stata eseguita una chiamata a SQLPutData per lo stesso parametro con StrLen_or_Ind impostato su SQL_NULL_DATA.

SQLRowCount

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
(IH) (HY010) (HY010) -- -- (HY010) (HY010)

SQLSetConnectAttr

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
--[1] -- -- -- --[2] 24000[3] HY010 HY010

[1] Questa riga mostra le transizioni quando Attribute era un attributo di connessione. Per le transizioni quando Attribute è un attributo di istruzione, vedere la tabella di transizione dell'istruzione per SQLSetStmtAttr.

[2] L'argomento Attribute non è stato SQL_ATTR_CURRENT_CATALOG.

[3] L'argomento Attribute è stato SQL_ATTR_CURRENT_CATALOG.

SQLSetCursorName

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH -- -- 24000 24000 HY010 HY010

SQLSetDescField e SQLSetDescRec

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH[1] -- -- -- -- HY010 HY010

[1] Questa riga mostra le transizioni in cui l'argomento DescriptorHandle è ARD, APD, IPD o (per SQLSetDescField) un IRD quando l'argomento FieldIdentifier è SQL_DESC_ARRAY_STATUS_PTR o SQL_DESC_ROWS_PROCESSED_PTR. È un errore chiamare SQLSetDescField per un oggetto IRD quando FieldIdentifier è qualsiasi altro valore.

SQLSetEnvAttr

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
HY011 HY011 HY011 HY011 Y011 HY01 HY011

SQLSetPos

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH HY010 HY010 24000 Vedere la tabella successiva HY010 NS [c] HY010 [o]

SQLSetPos (stati del cursore)

S5

Aperto
S6

SQLFetch o SQLFetchScroll
S7

Sqlextendedfetch
24000 -- [s] S8 [d] S11 [x] 24000 [b] HY109 [i] -- [s] S8 [d] S11 [x] 24000 [b] HY109 [i]

SQLSetStmtAttr

S0

Non allocato
S1

Allocato
S2-S3

Preparato
S4

Eseguito
S5-S7

Cursore
S8-S10

Dati necessari
S11-S12

Async
IH -- --[1] HY011[2] --[1] 24000[2] --[1] 24000[2] HY010 [np] o [1] HY011 [p] e [2] HY010 [np] o [1] HY011 [p] e [2]

[1] L'argomento Attribute non è stato SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE o SQL_ATTR_CURSOR_SENSITIVITY.

[2] L'argomento Attribute è stato SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE o SQL_ATTR_CURSOR_SENSITIVITY.