ステートメントの遷移

ODBC ステートメントの状態は次のとおりです。

State 説明
S0 未割り当てステートメント。 (接続状態は C4、C5、または C6 である必要があります。詳細については、「 接続の切り替え」を参照してください)。
S1 割り当てられたステートメント。
S2 プリペアドステートメント。 結果セットは作成されません。
S3 プリペアドステートメント。 (空の可能性がある) 結果セットが作成されます。
S4 ステートメントが実行され、結果セットが作成されませんでした。
S5 ステートメントが実行され、(空の可能性がある) 結果セットが作成されました。 カーソルが開き、結果セットの最初の行の前に配置されます。
S6 SQLFetch または SQLFetchScroll を使用して配置されたカーソル。
S7 SQLExtendedFetch を使用して配置されたカーソル。
S8 関数にはデータが必要です。 SQLParamData が呼び出されていません。
S9 関数にはデータが必要です。 SQLPutData が呼び出されていません。
S10 関数にはデータが必要です。 SQLPutData が呼び出されました。
S11 まだ実行中です。 非同期的に実行される関数がSQL_STILL_EXECUTINGを返した後、ステートメントはこの状態のままです。 ステートメント ハンドルを受け入れる関数が実行されている間、ステートメントは一時的にこの状態になります。 状態 S11 の一時常駐は、 SQLCancel の状態テーブルを除くどの状態テーブルにも表示されません。 ステートメントが一時的に状態 S11 にある間は、別のスレッドから SQLCancel を 呼び出すことで関数を取り消すことができます。
S12 非同期実行が取り消されました。 S12 では、アプリケーションは、SQL_STILL_EXECUTING以外の値を返すまで、取り消された関数を呼び出す必要があります。 関数がSQL_ERRORを返し、SQLSTATE HY008 (操作が取り消された) 場合にのみ、関数が正常に取り消されました。 SQL_SUCCESSなどの他の値を返した場合、キャンセル操作は失敗し、関数は正常に実行されます。

状態 S2 と S3 は準備済み状態と呼ばれ、状態 S5 から S7 はカーソル状態、状態 S8 から S10 は必要なデータ状態、状態 S11 と S12 は非同期状態です。 これらの各グループでは、遷移は、グループ内の状態ごとに異なる場合にのみ個別に表示されます。ほとんどの場合、各グループの各状態の遷移は同じです。

次の表は、各 ODBC 関数がステートメントの状態にどのように影響するかを示しています。

SQLAllocHandle

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
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] この行には 、HandleType がSQL_HANDLE_ENVされたときの遷移が表示されます。

[2] この行には 、HandleType がSQL_HANDLE_DBCされたときの遷移が表示されます。

[3] この行には 、HandleType がSQL_HANDLE_STMTされたときの遷移が表示されます。

[4] この行には 、HandleType がSQL_HANDLE_DESCされたときの遷移が表示されます。

[5] 有効なハンドルを指す OutputHandlePtr を使用して SQLAllocHandle を呼び出すと、そのハンドルに対する以前の内容に関係なく、そのハンドルが上書きされ、ODBC ドライバーに問題が発生する可能性があります。 SQLFreeHandle を呼び出さずに *OutputHandlePtr に定義されている同じアプリケーション変数を使用して SQLAllocHandle を 2 回呼び出しハンドルを再割り当てする前に解放するのは、ODBC アプリケーション プログラミングでは正しくありません。 このような方法で ODBC ハンドルを上書きすると、ODBC ドライバーの一部で動作やエラーが矛盾する可能性があります。

SQLBindCol

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLBindParameter

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLBrowseConnect、SQLConnect、SQLDriverConnect

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
08002 08002 08002 08002 08002 08002 08002

SQLBulkOperations

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH HY010 HY010 24000 次の表を参照してください HY010 NS [c] HY010 o

SQLBulkOperations (カーソルの状態)

S5

開始済み
S6

SQLFetch または SQLFetchScroll
S7

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

SQLCancel

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH -- -- -- -- S1[1] S2 [nr] と [2] S3 [r]および [2] S5[3] と [5] S6([3] または [4]) と [6] S7[4] と [7] 次の表を参照してください

[1] SQLExecDirect がSQL_NEED_DATA返されました。

[2] SQLExecute がSQL_NEED_DATA返されました。

[3] SQLBulkOperations から SQL_NEED_DATAが返されました。

[4] SQLSetPos がSQL_NEED_DATA返されました。

[5] SQLFetchSQLFetchScroll、または SQLExtendedFetch は呼び出されませんでした。

[6] SQLFetch または SQLFetchScroll が呼び出されました。

[7] SQLExtendedFetch が呼び出されました。

SQLCancel (非同期状態)

S11

まだ実行中
S12

Asynch が取り消されました
NS[1] S12[2] S12

[1] ステートメントは、関数の実行中に一時的に状態 S11 にありました。 SQLCancel は別のスレッドから呼び出されました。

[2] 非同期的に呼び出された関数がSQL_STILL_EXECUTING返されたため、ステートメントは状態 S11 にありました。

SQLCloseCursor

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLColAttribute

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH HY010 次の表を参照してください 24000 -- [s] S11 [x] HY010 NS [c] HY010 o

SQLColAttribute (準備済み状態)

S2

結果なし
S3

結果
--[1] 07005[2] -- [s] S11 x

[1] FieldIdentifier がSQL_DESC_COUNTされました。

[2] FieldIdentifier がSQL_DESC_COUNTされませんでした。

SQLColumnPrivileges、SQLColumns、SQLForeignKeys、SQLGetTypeInfo、SQLPrimaryKeys、SQLProcedureColumns、SQLProcedures、SQLSpecialColumns、SQLStatistics、SQLTablePrivileges、および SQLTables

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
(IH) S5 [s] S11 [x] S1 [e] S5 [s] S11 [x] S1 [e] と [1] S5 [s] と [1] S11 [x] と [1] 24000[2] 次の表を参照してください HY010 NS [c] HY010 o

[1] 現在の結果は最後または唯一の結果であるか、現在の結果はありません。 複数の結果の詳細については、「 複数の結果」を参照してください。

[2] 現在の結果は最後の結果ではありません。

SQLColumnPrivileges、SQLColumns、SQLForeignKeys、SQLGetTypeInfo、SQLPrimaryKeys、SQLProcedureColumns、SQLProcedures、SQLSpecialColumns、SQLStatistics、SQLTablePrivileges、SQLTable (カーソルの状態)

S5

開始済み
S6

SQLFetch または SQLFetchScroll
S7

SQLExtendedFetch
24000 24000[1] 24000

[1] このエラーは、SQLFetch または SQLFetchScroll がSQL_NO_DATAを返していない場合にドライバー マネージャーによって返され、SQLFetch または SQLFetchScroll がSQL_NO_DATAを返した場合にドライバーによって返されます。

SQLCopyDesc

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH[1] -- -- -- -- HY010 NS [c] および [3] HY010 [o] または [4]
IH[2] HY010 次の表を参照してください 24000 -- [s] S11 x HY010 NS [c] および [3] HY010 [o] または [4]

[1] この行には 、SourceDescHandle 引数が ARD、APD、または IPD の場合の遷移が表示されます。

[2] この行には 、SourceDescHandle 引数が IRD の場合の遷移が表示されます。

SourceDescHandle 引数と TargetDescHandle 引数は、非同期的に実行されている SQLCopyDesc 関数と同じでした。

[4] SourceDescHandle 引数または TargetDescHandle 引数 (またはその両方) は、非同期で実行されている SQLCopyDesc 関数と異なっていました。

SQLCopyDesc (準備済み状態)

S2

結果なし
S3

結果
24000[1] -- [s] S11 [x]

[1]この行には、 SourceDescHandle 引数が IRD の場合の遷移が表示されます。

SQLDataSources と SQLDrivers

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLDescribeCol

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH HY010 次の表を参照してください 24000 -- [s] S11 [x] HY010 NS [c] HY010 o

SQLDescribeCol (準備済み状態)

S2

結果なし
S3

結果
07005 -- [s] S11 [x]

SQLDescribeParam

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLDisconnect

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

[1] SQLDisconnect を呼び出すと、接続に関連付けられているすべてのステートメントが解放されます。 さらに、これにより接続状態が C2 に返されます。ステートメントの状態が S0 になる前に、接続状態を C4 にする必要があります。

SQLEndTran

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
-- -- --[2] または [3] S1[1] --[3] S1 [np] および ([1] または [2]) S1 [p] と [1] S2 [p] と [2] --[3] S1 [np] および ([1] または [2]) S1 [p] と [1] S3 [p] と [2] (HY010) (HY010)

[1] CompletionType 引数がSQL_COMMITされ、 SQLGetInfo がSQL_CURSOR_COMMIT_BEHAVIOR情報型のSQL_CB_DELETEを返すか、 CompletionType 引数がSQL_ROLLBACKされ、 SQLGetInfo はSQL_CURSOR_ROLLBACK_BEHAVIOR情報型のSQL_CB_DELETEを返します。

[2] CompletionType 引数がSQL_COMMITされ、 SQLGetInfo はSQL_CURSOR_COMMIT_BEHAVIOR情報型のSQL_CB_CLOSEを返すか、 CompletionType 引数がSQL_ROLLBACKされ、 SQLGetInfo はSQL_CURSOR_ROLLBACK_BEHAVIOR情報型のSQL_CB_CLOSEを返します。

[3] CompletionType 引数がSQL_COMMITされ、 SQLGetInfo はSQL_CURSOR_COMMIT_BEHAVIOR情報型のSQL_CB_PRESERVEを返すか、 CompletionType 引数がSQL_ROLLBACKされ、 SQLGetInfo はSQL_CURSOR_ROLLBACK_BEHAVIOR情報型のSQL_CB_PRESERVEを返します。

SQLExecDirect

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
(IH) S4 [s] と [nr] S5 [s] と [r] S8 [d] S11 [x] -- [e] と [1] S1 [e] と [2] S4 [s] と [nr] S5 [s] と [r] S8 [d] S11 [x] -- [e],[1], [3] S1 [e], [2], [3] S4 [s], [nr], [3] S5 [s], [r], [3] S8 [d] and [3] S11 [x] and [3] 24000 [4] 次の表を参照してください HY010 NS [c] HY010 [o]

[1] エラーはドライバー マネージャーによって返されました。

[2] ドライバー マネージャーからエラーが返されませんでした。

[3] 現在の結果は最後または唯一の結果であるか、現在の結果はありません。 複数の結果の詳細については、「 複数の結果」を参照してください。

[4] 現在の結果は最後の結果ではありません。

SQLExecDirect (カーソルの状態)

S5

開始済み
S6

SQLFetch または SQLFetchScroll
S7

SQLExtendedFetch
24000 24000 [1] 24000

[1] このエラーは、SQLFetch または SQLFetchScroll がSQL_NO_DATAを返していない場合にドライバー マネージャーによって返され、SQLFetch または SQLFetchScroll がSQL_NO_DATAを返した場合はドライバーによって返されます。

SQLExecute

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
(IH) (HY010) 次の表を参照してください S2 [e],p, [1] S4 [s], [p], [nr], [1] S5 [s], [p], [r], [1] S8 [d], [p], [1] S11 [x], [p], [1] 24000 [p] and [2] HY010 [np] カーソルの状態の表を参照してください HY010 NS [c] HY010 [o]

[1] 現在の結果は最後または唯一の結果であるか、現在の結果はありません。 複数の結果の詳細については、「 複数の結果」を参照してください。

[2] 現在の結果は最後の結果ではありません。

SQLExecute (準備済み状態)

S2

結果なし
S3

結果
S4 [s] S8 [d] S11 [x] S5 [s] S8 [d] S11 [x]

SQLExecute (カーソルの状態)

S5

開始済み
S6

SQLFetch または SQLFetchScroll
S7

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

[1] このエラーは、SQLFetch または SQLFetchScroll がSQL_NO_DATAを返していない場合にドライバー マネージャーによって返され、SQLFetch または SQLFetchScroll がSQL_NO_DATAを返した場合はドライバーによって返されます。

SQLExtendedFetch

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH S1010 S1010 24000 次の表を参照してください S1010 NS [c] S1010 [o]

SQLExtendedFetch (カーソルの状態)

S5

開始済み
S6

SQLFetch または SQLFetchScroll
S7

SQLExtendedFetch
S7 [s] または [nf] S11 [x] S1010 -- [s] または [nf] S11 [x]

SQLFetch と SQLFetchScroll

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH HY010 HY010 24000 次の表を参照してください HY010 NS [c] HY010 [o]

SQLFetch と SQLFetchScroll (カーソルの状態)

S5

開始済み
S6

SQLFetch または SQLFetchScroll
S7

SQLExtendedFetch
S6 [s] または [nf] S11 [x] -- [s] または [nf] S11 [x] HY010

SQLFreeHandle

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

[1] この行には 、HandleType がSQL_HANDLE_ENVまたはSQL_HANDLE_DBCされたときの遷移が表示されます。

[2] この行には 、HandleType がSQL_HANDLE_STMTされたときの遷移が表示されます。

[3] この行には 、HandleType がSQL_HANDLE_DESCされ、記述子が明示的に割り当てられた場合の遷移が表示されます。

SQLFreeStmt

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

[1] この行には 、Option がSQL_CLOSEされたときの画面切り替えが表示されます。

[2] この行には 、Option がSQL_UNBINDまたはSQL_RESET_PARAMSされたときの画面切り替えが表示されます。 引数 Option がSQL_DROPされ、基になるドライバーが ODBC 3*.x* ドライバーである場合、ドライバー マネージャーは、HandleType を SQL_HANDLE_STMT に設定した SQLFreeHandle への呼び出しにマップします。 詳細については、 SQLFreeHandle の遷移テーブルを参照してください。

SQLGetConnectAttr

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLGetCursorName

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLGetData

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH HY010 HY010 24000 次の表を参照してください HY010 NS [c] HY010 [o]

SQLGetData (カーソルの状態)

S5

開始済み
S6

SQLFetch または SQLFetchScroll
S7

SQLExtendedFetch
24000 -- [s] または [nf] S11 [x] 24000 [b] HY109 [i] -- [s] または [nf] S11 [x] 24000 [b] HY109 [i]

SQLGetDescField と SQLGetDescRec

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH -- [1] または [2] HY010 [3] 次の表を参照してください -- [1] または [2] 24000 [3] -- [1]、[2]、または [3] S11 [3] と [x] HY010 NS [c] または [4] HY010 [o] および [5]

[1] DescriptorHandle 引数は APD または ARD でした。

[2] DescriptorHandle 引数は IPD でした。

[3] DescriptorHandle 引数は IRD でした。

DescriptorHandle 引数は、非同期的に実行されている SQLGetDescField 関数または SQLGetDescRec 関数の DescriptorHandle 引数と同じでした。

[5] DescriptorHandle 引数は、非同期的に実行されている SQLGetDescField 関数または SQLGetDescRec 関数の DescriptorHandle 引数とは異なっていました。

SQLGetDescField と SQLGetDescRec (準備済み状態)

S2

結果なし
S3

結果
--[1]、[2]、または [3] S11[2] と [x] --[1]、[2]、または [3] S11 [x]

[1] DescriptorHandle 引数は APD または ARD でした。

[2] DescriptorHandle 引数は IPD でした。

[3] DescriptorHandle 引数は IRD でした。 DescriptorHandle が IRD の場合、これらの関数は常に状態 S2 でSQL_NO_DATAを返します。

SQLGetDiagField と SQLGetDiagRec

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

[1] この行には 、HandleType がSQL_HANDLE_ENV、SQL_HANDLE_DBC、またはSQL_HANDLE_DESCされたときの遷移が表示されます。

[2] この行には 、HandleType がSQL_HANDLE_STMTされたときの遷移が表示されます。

[3] DiagIdentifier がSQL_DIAG_ROW_COUNTされると、SQLGetDiagField は常にこの状態のエラーを返します。

SQLGetEnvAttr

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLGetFunctions

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLGetInfo

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLGetStmtAttr

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH --[1] 24000[2] --[1] 24000[2] --[1] 24000[2] 次の表を参照してください HY010 HY010

[1] ステートメント属性がSQL_ATTR_ROW_NUMBERされませんでした。

[2] ステートメント属性がSQL_ATTR_ROW_NUMBERされました。

SQLGetStmtAttr (カーソルの状態)

S5

開始済み
S6

SQLFetch または SQLFetchScroll
S7

SQLExtendedFetch
--[1] 24000[2] --[1] または ([v] と [2]) 24000 [b] と [2] HY109 [i] と [2] -- [i] または ([v] と [2]) 24000 [b] および [2] HY109[1] および [2]

[1] Attribute 引数がSQL_ATTR_ROW_NUMBERされませんでした。

[2] Attribute 引数がSQL_ATTR_ROW_NUMBERされました。

SQLMoreResults

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

[1] 関数は常にこの状態のSQL_NO_DATAを返します。

[2] 次の結果は行数です。

[3] 次の結果は結果セットです。

[4] 現在の結果は最後の結果です。

SQLNativeSql

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLNumParams

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLNumResultCols

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLParamData

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH HY010 HY010 HY010 HY010 次の表を参照してください NS [c] HY010 [o]

SQLParamData (データ状態が必要)

S8

データが必要
S9

配置する必要があります
S10

配置可能
S1 [e] と [1] S2 [e], [nr], [2] S3 [e], [r], [2] S5 [e] および [4] S6 [e] および [5] S7 [e] および [3] S9 [d] S11 [x] HY010 S1 [e] と [1] S2 [e], [nr], および [2] S3 [e], [r], および [2] S4 [s], [nr]、 ([1] または [2]) S5 [s]、[r]、および ([1] または [2]) S5 ([s] または [e]) と [4] S6 ([s]または [e]) と [5] S7 ([s]または [e]) と [3] S9 [d] S11 [x]

[1] SQLExecDirect がSQL_NEED_DATA返されました。

[2] SQLExecute から返されたSQL_NEED_DATA。

[3] SQLSetPos は状態 S7 から呼び出され、SQL_NEED_DATA返されました。

[4] SQLBulkOperations は状態 S5 から呼び出され、SQL_NEED_DATA返されました。

[5] SQLSetPos または SQLBulkOperations が状態 S6 から呼び出され、SQL_NEED_DATA返されました。

SQLPrepare

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
(IH) S2 [s] と [nr] S3 [s] と [r] S11 [x] -- [s] または ([e] と [1]) S1 [e] と [2] S11 [x] S1 [e] と [3] S2 [s],[nr], [3] S3 [s], [r], [3] S11 [x] and [3] 24000[4] 次の表を参照してください HY010 NS [c] HY010 [o]

[1] ステートメントの検証以外の理由で準備が失敗します (SQLSTATE は HY009 [無効な引数値] または HY090 [文字列またはバッファーの長さが無効] です)。

[2] ステートメントの検証中に準備が失敗しました (SQLSTATE が HY009 [無効な引数値] または HY090 [文字列またはバッファーの長さが無効] ではありません)。

[3] 現在の結果は最後または唯一の結果であるか、現在の結果はありません。 複数の結果の詳細については、「 複数の結果」を参照してください。

[4] 現在の結果は最後の結果ではありません。

SQLPrepare (カーソルの状態)

S5

開始済み
S6

SQLFetch または SQLFetchScroll
S7

SQLExtendedFetch
24000 24000 24000

SQLPutData

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH HY010 HY010 HY010 HY010 次の表を参照してください NS [c] HY010 [o]

SQLPutData (データ状態が必要)

S8

データが必要
S9

配置する必要がある
S10

Can Put
HY010 S1 [e] と [1] S2 [e], [nr], [2] S3 [e], [2] S5 [e] と [4] S6 [e] and [5] S7 [e] and [3] S10 [s] S11 [x] -- [s] S1 [e] and [1] S2 [e], [nr], [2] S3 [e], [r], and [2] S5 [e] and [4] S6 [e] and [5] S7 [e] and [3] S11 [x] HY011[6]

[1] SQLExecDirect がSQL_NEED_DATA返されました。

[2] SQLExecute がSQL_NEED_DATA返されました。

[3] SQLSetPos は状態 S7 から呼び出され、SQL_NEED_DATA返されました。

[4] SQLBulkOperations は状態 S5 から呼び出され、SQL_NEED_DATA返されました。

[5] SQLSetPos または SQLBulkOperations は状態 S6 から呼び出され、SQL_NEED_DATA返されました。

[6] SQL_SUCCESS返された 1 つのパラメーターに対して SQLPutData を 1 つ以上呼び出した後、同じパラメーターに対して SQLPutData の呼び出しが行われ、 StrLen_or_Indが SQL_NULL_DATA に設定されました。

SQLRowCount

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

SQLSetConnectAttr

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

[1] この行には 、Attribute が接続属性だった場合の遷移が表示されます。 Attribute がステートメント属性だった場合の遷移については、SQLSetStmtAttr のステートメント遷移テーブルを参照してください。

[2] Attribute 引数がSQL_ATTR_CURRENT_CATALOGされませんでした。

[3] Attribute 引数がSQL_ATTR_CURRENT_CATALOGされました。

SQLSetCursorName

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH -- -- 24000 24000 HY010 HY010

SQLSetDescField と SQLSetDescRec

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

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

[1] この行には、引数 FieldIdentifier がSQL_DESC_ARRAY_STATUS_PTRまたはSQL_DESC_ROWS_PROCESSED_PTRの場合、DescriptorHandle 引数が IRD の ARD、APD、IPD、または (SQLSetDescField の場合) の遷移が表示されます。 FieldIdentifier が他の値である場合、IRD に対して SQLSetDescField を呼び出すとエラーになります。

SQLSetEnvAttr

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
HY011 HY011 HY011 HY011 Y011 HY01 HY011

SQLSetPos

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH HY010 HY010 24000 次の表を参照してください HY010 NS [c] HY010 [o]

SQLSetPos (カーソルの状態)

S5

開始済み
S6

SQLFetch または SQLFetchScroll
S7

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

SQLSetStmtAttr

S0

未割り当て
S1

Allocated
S2-S3

Prepared
S4

実行
S5-S7

カーソル
S8-S10

データが必要
S11-S12

Async
IH -- --[1] HY011[2] --[1] 24000[2] --[1] 24000[2] HY010 [np] または [1] HY011 [p] および [2] HY010 [np] または [1] HY011 [p] および [2]

[1] Attribute 引数がSQL_ATTR_CONCURRENCY、SQL_ATTR_CURSOR_TYPE、SQL_ATTR_SIMULATE_CURSOR、SQL_ATTR_USE_BOOKMARKS、SQL_ATTR_CURSOR_SCROLLABLE、またはSQL_ATTR_CURSOR_SENSITIVITYされませんでした。

[2] Attribute 引数は、SQL_ATTR_CONCURRENCY、SQL_ATTR_CURSOR_TYPE、SQL_ATTR_SIMULATE_CURSOR、SQL_ATTR_USE_BOOKMARKS、SQL_ATTR_CURSOR_SCROLLABLE、またはSQL_ATTR_CURSOR_SENSITIVITYでした。