Freigeben über


Anweisungsübergänge

ODBC-Anweisungen weisen die folgenden Zustände auf.

State BESCHREIBUNG
S0 Nicht zugeordnete Anweisung. (Der Verbindungsstatus muss C4, C5 oder C6 sein. Weitere Informationen finden Sie unter Verbindungsübergänge.)
S1 Zugeordnete Anweisung.
S2 Prepared-Anweisung. Es wird kein Resultset erstellt.
S3 Prepared-Anweisung. Ein (möglicherweise leeres) Resultset wird erstellt.
S4 Die Anweisung wurde ausgeführt, und es wurde kein Resultset erstellt.
S5 Die Anweisung wurde ausgeführt, und ein (möglicherweise leeres) Resultset wurde erstellt. Der Cursor ist geöffnet und vor der ersten Zeile des Resultsets positioniert.
S6 Cursor positioniert mit SQLFetch oder SQLFetchScroll.
S7 Cursor positioniert mit SQLExtendedFetch.
S8 Die Funktion benötigt Daten. SQLParamData wurde nicht aufgerufen.
S9 Die Funktion benötigt Daten. SQLPutData wurde nicht aufgerufen.
S10 Die Funktion benötigt Daten. SQLPutData wurde aufgerufen.
S11 Wird weiterhin ausgeführt. Eine -Anweisung verbleibt in diesem Zustand, nachdem eine asynchron ausgeführte Funktion SQL_STILL_EXECUTING zurückgibt. Eine Anweisung befindet sich vorübergehend in diesem Zustand, während jede Funktion, die ein Anweisungshandle akzeptiert, ausgeführt wird. Der temporäre Aufenthalt im Zustand S11 wird in keiner Zustandstabelle mit Ausnahme der Zustandstabelle für SQLCancel angezeigt. Während sich eine Anweisung vorübergehend im Status S11 befindet, kann die Funktion abgebrochen werden, indem SQLCancel aus einem anderen Thread aufgerufen wird.
S12 Asynchrone Ausführung abgebrochen. In S12 muss eine Anwendung die abgebrochene Funktion aufrufen, bis sie einen anderen Wert als SQL_STILL_EXECUTING zurückgibt. Die Funktion wurde nur erfolgreich abgebrochen, wenn die Funktion SQL_ERROR und SQLSTATE HY008 (Vorgang abgebrochen) zurückgibt. Wenn ein anderer Wert zurückgegeben wird, z. B. SQL_SUCCESS, ist der Abbruchvorgang fehlgeschlagen, und die Funktion wird normal ausgeführt.

Die Zustände S2 und S3 werden als vorbereitete Zustände bezeichnet, die Zustände S5 bis S7 als Cursorzustände, S8 bis S10 als erforderlicher Datenstatus und S11 und S12 als asynchrone Zustände. In jeder dieser Gruppen werden die Übergänge nur separat angezeigt, wenn sie für jeden Zustand in der Gruppe unterschiedlich sind. in den meisten Fällen sind die Übergänge für jeden Zustand in jeder Gruppe gleich.

Die folgenden Tabellen zeigen, wie sich jede ODBC-Funktion auf den Anweisungszustand auswirkt.

SQLAllocHandle

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
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] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_ENV wurde.

[2] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_DBC wurde.

[3] Diese Zeile zeigt Übergänge an, als HandleType SQL_HANDLE_STMT wurde.

[4] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_DESC wurde.

[5] Der Aufruf von SQLAllocHandle mit OutputHandlePtr , der auf ein gültiges Handle verweist, überschreibt, das ohne Berücksichtigung des vorherigen Inhalts dieses Handles behandelt und probleme mit ODBC-Treibern verursachen kann. Es ist falsch, sqlAllocHandle zweimal mit derselben Anwendungsvariable aufzurufen, die für *OutputHandlePtr definiert ist, ohne SQLFreeHandle aufzurufen, um das Handle freizugeben, bevor es neu zugeordnet wird. Das Überschreiben von ODBC-Handles auf diese Weise kann zu inkonsistentem Verhalten oder Fehlern von ODBC-Treibern führen.

SQLBindCol

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

SQLBindParameter

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

SQLBrowseConnect, SQLConnect und SQLDriverConnect

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
08002 08002 08002 08002 08002 08002 08002

SQLBulkOperations

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
IH HY010 HY010 24.000 Weitere Informationen finden Sie in der nächsten Tabelle. HY010 NS [c] HY010 o

SQLBulkOperations (Cursorzustände)

S5

Geöffnet
S6

SQLFetch oder SQLFetchScroll
S7

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

SQLCancel

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten benötigen
S11-S12

Async
IH -- -- -- -- S1[1] S2 [nr] und [2] S3 [r]und [2] S5[3] und [5] S6([3] oder [4]) und [6] S7[4] und [7] Siehe nächste Tabelle

[1] SQLExecDirect hat SQL_NEED_DATA zurückgegeben.

[2] SQLExecute hat SQL_NEED_DATA zurückgegeben.

[3] SQLBulkOperations hat SQL_NEED_DATA zurückgegeben.

[4] SQLSetPos hat SQL_NEED_DATA zurückgegeben.

[5] SQLFetch, SQLFetchScroll oder SQLExtendedFetch wurden nicht aufgerufen.

[6] SQLFetch oder SQLFetchScroll wurde aufgerufen.

[7] SQLExtendedFetch wurde aufgerufen.

SQLCancel (asynchrone Zustände)

S11

Wird noch ausgeführt
S12

Asynch abgebrochen
NS[1] S12[2] S12

[1] Die Anweisung befand sich während der Ausführung einer Funktion vorübergehend im Zustand S11. SQLCancel wurde von einem anderen Thread aufgerufen.

[2] Die Anweisung befand sich im Zustand S11, da eine Funktion namens asynchron SQL_STILL_EXECUTING zurückgegeben hat.

SQLCloseCursor

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten benötigen
S11-S12

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

SQLColAttribute

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten benötigen
S11-S12

Async
IH HY010 Siehe nächste Tabelle 24.000 -- [s] S11 [x] HY010 NS [c] HY010 o

SQLColAttribute (Vorbereitete Zustände)

S2

Keine Ergebnisse
S3

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

[1] FieldIdentifier wurde SQL_DESC_COUNT.

[2] FieldIdentifier wurde nicht SQL_DESC_COUNT.

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

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten benötigen
S11-S12

Async
(IH) S5 [s] S11 [x] S1 [e] S5 [s] S11 [x] S1 [e] und [1] S5 [s] und [1] S11 [x] und [1] 24000[2] Siehe nächste Tabelle HY010 NS [c] HY010 o

[1] Das aktuelle Ergebnis ist das letzte oder einzige Ergebnis, oder es gibt keine aktuellen Ergebnisse. Weitere Informationen zu mehreren Ergebnissen finden Sie unter Mehrere Ergebnisse.

[2] Das aktuelle Ergebnis ist nicht das letzte Ergebnis.

SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges und SQLTables (Cursorzustände)

S5

Geöffnet
S6

SQLFetch oder SQLFetchScroll
S7

SQLExtendedFetch
24.000 24000[1] 24.000

[1] Dieser Fehler wird vom Treiber-Manager zurückgegeben, wenn SQLFetch oder SQLFetchScroll nicht SQL_NO_DATA zurückgegeben hat und vom Treiber zurückgegeben wird, wenn SQLFetch oder SQLFetchScroll SQL_NO_DATA zurückgegeben hat.

SQLCopyDesc

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
IH[1] -- -- -- -- HY010 NS [c] und [3] HY010 [o] oder [4]
IH[2] HY010 Weitere Informationen finden Sie in der nächsten Tabelle. 24.000 -- [s] S11 x HY010 NS [c] und [3] HY010 [o] oder [4]

[1] Diese Zeile zeigt Übergänge an, wenn das SourceDescHandle-Argument eine ARD, APD oder IPD war.

[2] Diese Zeile zeigt Übergänge an, wenn das Argument SourceDescHandle eine IRD war.

[3] Die Argumente SourceDescHandle und TargetDescHandle waren identisch mit denen in der asynchron ausgeführten SQLCopyDesc-Funktion .

[4] Entweder das Argument SourceDescHandle oder das Argument TargetDescHandle (oder beides) unterscheidet sich von der SQLCopyDesc-Funktion , die asynchron ausgeführt wird.

SQLCopyDesc (vorbereitete Zustände)

S2

Keine Ergebnisse
S3

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

[1] Diese Zeile zeigt Übergänge an, wenn das Argument SourceDescHandle eine IRD war.

SQLDataSources und SQLDrivers

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

SQLDescribeCol

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
IH HY010 Weitere Informationen finden Sie in der nächsten Tabelle. 24.000 -- [s] S11 [x] HY010 NS [c] HY010 o

SQLDescribeCol (Vorbereitete Zustände)

S2

Keine Ergebnisse
S3

Ergebnisse
07005 -- [s] S11 [x]

SQLDescribeParam

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

SQLDisconnect

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

[1] Beim Aufrufen von SQLDisconnect werden alle Anweisungen freigegeben, die der Verbindung zugeordnet sind. Darüber hinaus wird der Verbindungszustand in C2 zurückgegeben; Der Verbindungszustand muss C4 sein, bevor der Anweisungszustand S0 lautet.

SQLEndTran

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
-- -- --[2] oder [3] S1[1] --[3] S1 [np] und ([1] oder [2]) S1 [p] und [1] S2 [p] und [2] --[3] S1 [np] und ([1] oder [2]) S1 [p] und [1] S3 [p] und [2] (HY010) (HY010)

[1] Das CompletionType-Argument ist SQL_COMMIT und SQLGetInfo gibt SQL_CB_DELETE für den SQL_CURSOR_COMMIT_BEHAVIOR Informationstyp zurück, oder das CompletionType-Argument ist SQL_ROLLBACK, und SQLGetInfo gibt SQL_CB_DELETE für den SQL_CURSOR_ROLLBACK_BEHAVIOR Informationstyp zurück.

[2] Das CompletionType-Argument ist SQL_COMMIT und SQLGetInfo gibt SQL_CB_CLOSE für den SQL_CURSOR_COMMIT_BEHAVIOR Informationstyp zurück, oder das CompletionType-Argument ist SQL_ROLLBACK, und SQLGetInfo gibt SQL_CB_CLOSE für den SQL_CURSOR_ROLLBACK_BEHAVIOR-Informationstyp zurück.

[3] Das CompletionType-Argument ist SQL_COMMIT, und SQLGetInfo gibt SQL_CB_PRESERVE für den SQL_CURSOR_COMMIT_BEHAVIOR Informationstyp zurück, oder das CompletionType-Argument ist SQL_ROLLBACK, und SQLGetInfo gibt SQL_CB_PRESERVE für den SQL_CURSOR_ROLLBACK_BEHAVIOR Informationstyp zurück.

SQLExecDirect

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
(IH) S4 [s] und [nr] S5 [s] und [r] S8 [d] S11 [x] -- [e] und [1] S1 [e] und [2] S4 [s] und [nr] S5 [s] und [r] S8 [d] S11 [x] -- [e], [1] und [3] S1 [e], [2] und [3] S4 [s], [nr] und [3] S5 [s], [r] und [3] S8 [d] und [3] S11 [x] und [3] 24000 [4] Weitere Informationen finden Sie in der nächsten Tabelle. HY010 NS [c] HY010 [o]

[1] Der Fehler wurde vom Treiber-Manager zurückgegeben.

[2] Der Fehler wurde vom Treiber-Manager nicht zurückgegeben.

[3] Das aktuelle Ergebnis ist das letzte oder einzige Ergebnis, oder es gibt keine aktuellen Ergebnisse. Weitere Informationen zu mehreren Ergebnissen finden Sie unter Mehrere Ergebnisse.

[4] Das aktuelle Ergebnis ist nicht das letzte Ergebnis.

SQLExecDirect (Cursorzustände)

S5

Geöffnet
S6

SQLFetch oder SQLFetchScroll
S7

SQLExtendedFetch
24.000 24000 [1] 24.000

[1] Dieser Fehler wird vom Treiber-Manager zurückgegeben, wenn SQLFetch oder SQLFetchScroll nicht SQL_NO_DATA zurückgegeben hat, und wird vom Treiber zurückgegeben, wenn SQLFetch oder SQLFetchScroll SQL_NO_DATA zurückgegeben hat.

SQLExecute

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
(IH) (HY010) Weitere Informationen finden Sie in der nächsten Tabelle. S2 [e], p und [1] S4 [s], [p], [nr] und [1] S5 [s], [p], [r] und [1] S8 [d], [p] und [1] S11 [x], [p] und [1] 24000 [p] und [2] HY010 [np] Cursorstatustabelle anzeigen HY010 NS [c] HY010 [o]

[1] Das aktuelle Ergebnis ist das letzte oder einzige Ergebnis, oder es gibt keine aktuellen Ergebnisse. Weitere Informationen zu mehreren Ergebnissen finden Sie unter Mehrere Ergebnisse.

[2] Das aktuelle Ergebnis ist nicht das letzte Ergebnis.

SQLExecute (vorbereitete Zustände)

S2

Keine Ergebnisse
S3

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

SQLExecute (Cursorzustände)

S5

Geöffnet
S6

SQLFetch oder SQLFetchScroll
S7

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

[1] Dieser Fehler wird vom Treiber-Manager zurückgegeben, wenn SQLFetch oder SQLFetchScroll nicht SQL_NO_DATA zurückgegeben hat, und wird vom Treiber zurückgegeben, wenn SQLFetch oder SQLFetchScroll SQL_NO_DATA zurückgegeben hat.

SQLExtendedFetch

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
IH S1010 S1010 24.000 Weitere Informationen finden Sie in der nächsten Tabelle. S1010 NS [c] S1010 [o]

SQLExtendedFetch (Cursorzustände)

S5

Geöffnet
S6

SQLFetch oder SQLFetchScroll
S7

SQLExtendedFetch
S7 [s] oder [nf] S11 [x] S1010 -- [s] oder [nf] S11 [x]

SQLFetch und SQLFetchScroll

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
IH HY010 HY010 24.000 Weitere Informationen finden Sie in der nächsten Tabelle. HY010 NS [c] HY010 [o]

SQLFetch und SQLFetchScroll (Cursorzustände)

S5

Geöffnet
S6

SQLFetch oder SQLFetchScroll
S7

SQLExtendedFetch
S6 [s] oder [nf] S11 [x] -- [s] oder [nf] S11 [x] HY010

SQLFreeHandle

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

[1] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_ENV oder SQL_HANDLE_DBC wurde.

[2] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_STMT wurde.

[3] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_DESC wurde und der Deskriptor explizit zugeordnet wurde.

'SQLFreeStmt'

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

[1] Diese Zeile zeigt Übergänge an, als Option SQL_CLOSE wurde.

[2] Diese Zeile zeigt Übergänge an, als Option SQL_UNBIND oder SQL_RESET_PARAMS wurde. Wenn das Argument Option SQL_DROP wurde und der zugrunde liegende Treiber ein ODBC 3*.x*-Treiber ist, ordnet der Treiber-Manager dies einem Aufruf von SQLFreeHandle zu, wobei HandleType auf SQL_HANDLE_STMT festgelegt ist. Weitere Informationen finden Sie in der Übergangstabelle für SQLFreeHandle.

SQLGetConnectAttr

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

SQLGetCursorName

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

SQLGetData

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
IH HY010 HY010 24.000 Weitere Informationen finden Sie in der nächsten Tabelle. HY010 NS [c] HY010 [o]

SQLGetData (Cursorzustände)

S5

Geöffnet
S6

SQLFetch oder SQLFetchScroll
S7

SQLExtendedFetch
24.000 -- [s] or [nf] S11 [x] 24000 [b] HY109 [i] -- [s] or [nf] S11 [x] 24000 [b] HY109 [i]

SQLGetDescField und SQLGetDescRec

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
IH -- [1] oder [2] HY010 [3] Weitere Informationen finden Sie in der nächsten Tabelle. -- [1] oder [2] 24000 [3] -- [1], [2] oder [3] S11 [3] und [x] HY010 NS [c] oder [4] HY010 [o] und [5]

[1] Das DescriptorHandle-Argument war eine APD oder ARD.

[2] Das DescriptorHandle-Argument war eine IPD.

[3] Das DescriptorHandle-Argument war eine IRD.

[4] Das Argument DescriptorHandle war identisch mit dem DescriptorHandle-Argument in der Funktion SQLGetDescField oder SQLGetDescRec , die asynchron ausgeführt wird.

[5] Das Argument DescriptorHandle unterscheidet sich vom Argument DescriptorHandle in der Funktion SQLGetDescField oder SQLGetDescRec , die asynchron ausgeführt wird.

SQLGetDescField und SQLGetDescRec (vorbereitete Zustände)

S2

Keine Ergebnisse
S3

Ergebnisse
--[1], [2] oder [3] S11[2] und [x] --[1], [2] oder [3] S11 [x]

[1] Das DescriptorHandle-Argument war eine APD oder ARD.

[2] Das DescriptorHandle-Argument war eine IPD.

[3] Das DescriptorHandle-Argument war eine IRD. Beachten Sie, dass diese Funktionen immer SQL_NO_DATA im Zustand S2 zurückgeben, wenn DescriptorHandle eine IRD war.

SQLGetDiagField und SQLGetDiagRec

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

[1] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_ENV, SQL_HANDLE_DBC oder SQL_HANDLE_DESC wurde.

[2] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_STMT wurde.

[3] SQLGetDiagField gibt immer einen Fehler in diesem Zustand zurück, wenn DiagIdentifier SQL_DIAG_ROW_COUNT ist.

SQLGetEnvAttr

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten benötigen
S11-S12

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

SQLGetFunctions

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten benötigen
S11-S12

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

SQLGetInfo

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten benötigen
S11-S12

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

'SQLGetStmtAttr'

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten benötigen
S11-S12

Async
IH --[1] 24000[2] --[1] 24000[2] --[1] 24000[2] Siehe nächste Tabelle HY010 HY010

[1] Das Anweisungsattribut wurde nicht SQL_ATTR_ROW_NUMBER.

[2] Das Anweisungsattribut wurde SQL_ATTR_ROW_NUMBER.

SQLGetStmtAttr (Cursorzustände)

S5

Geöffnet
S6

SQLFetch oder SQLFetchScroll
S7

SQLExtendedFetch
--[1] 24000[2] --[1] oder ([v] und [2]) 24000 [b] und [2] HY109 [i] und [2] -- [i] or ([v] and [2]) 24000 [b] and [2] HY109[1] and [2] and [2]

[1] Das Attributargument wurde nicht SQL_ATTR_ROW_NUMBER.

[2] Das Attributargument wurde SQL_ATTR_ROW_NUMBER.

SQLMoreResults

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten benötigen
S11-S12

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

[1] Die Funktion gibt immer SQL_NO_DATA in diesem Zustand zurück.

[2] Das nächste Ergebnis ist eine Zeilenanzahl.

[3] Das nächste Ergebnis ist ein Resultset.

[4] Das aktuelle Ergebnis ist das letzte Ergebnis.

SQLNativeSql

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

SQLNumParams

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

SQLNumResultCols

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

SQLParamData

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
IH HY010 HY010 HY010 HY010 Weitere Informationen finden Sie in der nächsten Tabelle. NS [c] HY010 [o]

SQLParamData (Datenstatus erforderlich)

S8

Daten erforderlich
S9

Muss put
S10

Kann put
S1 [e] und [1] S2 [e], [nr] und [2] S3 [e], [r] und [2] S5 [e] und [4] S6 [e] und [5] S7 [e] und [3] S9 [d] S11 [x] HY010 S1 [e] und [1] S2 [e], [nr] und [2] S3 [e], [r] und [2] S4 [s], [nr] und ([1] oder [2]) S5 [s], [r] und ([2]) 1] oder [2]) S5 ([s] oder [e]) und [4] S6 ([s] oder [e]) und [5] S7 ([s] oder [e]) und [3] S9 [d] S11 [x]

[1] SQLExecDirect hat SQL_NEED_DATA zurückgegeben.

[2] SQLExecute hat SQL_NEED_DATA zurückgegeben.

[3] SQLSetPos wurde vom Status S7 aufgerufen und SQL_NEED_DATA zurückgegeben.

[4] SQLBulkOperations wurde vom Status S5 aufgerufen und SQL_NEED_DATA zurückgegeben.

[5] SQLSetPos oder SQLBulkOperations wurden vom Status S6 aufgerufen und SQL_NEED_DATA zurückgegeben.

SQLPrepare

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
(IH) S2 [s] und [nr] S3 [s] und [r] S11 [x] -- [s] oder ([e] und [1]) S1 [e] und [2] S11 [x] S1 [e] und [3] S2 [s], [nr] und [3] S3 [s], [r] und [3] S11 [x] und [3] 24000[4] Weitere Informationen finden Sie in der nächsten Tabelle. HY010 NS [c] HY010 [o]

[1] Die Vorbereitung schlägt aus einem anderen Grund als der Validierung der Anweisung fehl (SQLSTATE war HY009 [Ungültiger Argumentwert] oder HY090 [Ungültige Zeichenfolge oder Pufferlänge]).

[2] Die Vorbereitung schlägt beim Überprüfen der Anweisung fehl (SQLSTATE war nicht HY009 [Ungültiger Argumentwert] oder HY090 [Ungültige Zeichenfolge oder Pufferlänge]).

[3] Das aktuelle Ergebnis ist das letzte oder einzige Ergebnis, oder es gibt keine aktuellen Ergebnisse. Weitere Informationen zu mehreren Ergebnissen finden Sie unter Mehrere Ergebnisse.

[4] Das aktuelle Ergebnis ist nicht das letzte Ergebnis.

SQLPrepare (Cursorzustände)

S5

Geöffnet
S6

SQLFetch oder SQLFetchScroll
S7

SQLExtendedFetch
24.000 24.000 24.000

SQLPutData

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
IH HY010 HY010 HY010 HY010 Weitere Informationen finden Sie in der nächsten Tabelle. NS [c] HY010 [o]

SQLPutData (Datenstatus erforderlich)

S8

Daten erforderlich
S9

Muss put
S10

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

[1] SQLExecDirect hat SQL_NEED_DATA zurückgegeben.

[2] SQLExecute hat SQL_NEED_DATA zurückgegeben.

[3] SQLSetPos wurde vom Status S7 aufgerufen und SQL_NEED_DATA zurückgegeben.

[4] SQLBulkOperations wurde vom Status S5 aufgerufen und SQL_NEED_DATA zurückgegeben.

[5] SQLSetPos oder SQLBulkOperations wurden vom Status S6 aufgerufen und SQL_NEED_DATA zurückgegeben.

[6] Mindestens ein Aufruf von SQLPutData für einen einzelnen Parameter wurde SQL_SUCCESS zurückgegeben, und dann wurde ein Aufruf von SQLPutData für denselben Parameter mit StrLen_or_Ind auf SQL_NULL_DATA festgelegt.

SQLRowCount

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

SQLSetConnectAttr

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

[1] Diese Zeile zeigt Übergänge an, wenn Attribut ein Verbindungsattribute war. Informationen zu Übergängen, wenn Attribut ein Anweisungsattribut war, finden Sie in der Anweisungsübergangstabelle für SQLSetStmtAttr.

[2] Das Attributargument wurde nicht SQL_ATTR_CURRENT_CATALOG.

[3] Das Attributargument wurde SQL_ATTR_CURRENT_CATALOG.

SQLSetCursorName

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
IH -- -- 24.000 24.000 HY010 HY010

SQLSetDescField und SQLSetDescRec

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

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

[1] Diese Zeile zeigt Übergänge an, bei denen das DescriptorHandle-Argument eine ARD, APD, IPD oder (für SQLSetDescField) eine IRD ist, wenn das Argument FieldIdentifier SQL_DESC_ARRAY_STATUS_PTR oder SQL_DESC_ROWS_PROCESSED_PTR ist. Es ist ein Fehler, SQLSetDescField für eine IRD aufzurufen, wenn FieldIdentifier ein anderer Wert ist.

SQLSetEnvAttr

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
HY011 HY011 HY011 HY011 Y011 HY01 HY011

SQLSetPos

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten erforderlich
S11-S12

Async
IH HY010 HY010 24.000 Weitere Informationen finden Sie in der nächsten Tabelle. HY010 NS [c] HY010 [o]

SQLSetPos (Cursorzustände)

S5

Geöffnet
S6

SQLFetch oder SQLFetchScroll
S7

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

SQLSetStmtAttr

S0

Nicht zugeordnet
S1

Zugeordnet
S2-S3

Vorbereitet
S4

Ausgeführt
S5-S7

Cursor
S8-S10

Daten benötigen
S11-S12

Async
IH -- --[1] HY011[2] --[1] 24000[2] --[1] 24000[2] HY010 [np] oder [1] HY011 [p] und [2] HY010 [np] oder [1] HY011 [p] und [2]

[1] Das Attributargument wurde nicht SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE oder SQL_ATTR_CURSOR_SENSITIVITY.

[2] Das Attributargument wurde SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE oder SQL_ATTR_CURSOR_SENSITIVITY.