ODBC 行状況配列
行状況配列は行セットの各行の状況を戻します。
アプリケーションで行状況配列を割り振ります。 それから、この配列のアドレスを SQL_ATTR_ROW_STATUS_PTR ステートメント属性で指定します。 配列の要素数は、SQL_ATTR_ROW_ARRAY_SIZE ステートメント属性で指定した数と同じでなければなりません。 SQLExtendedFetch()、 SQLFetchScroll()、または SQLSetPos() は、カーソルが SQLExtendedFetch() によって位置づけられた後にこれらのメソッドが呼び出された場合を除き、行ステータス配列の値を設定します。 SQL_ATTR_ROW_STATUS_PTR ステートメント属性の値が NULL ポインターの場合は、SQLExtendedFetch()、SQLFetchScroll()、および SQLSetPos() は行状況を戻しません。
行状況配列バッファーの内容は、SQLExtendedFetch() または SQLFetchScroll() が SQL_SUCCESS または SQL_SUCCESS_WITH_INFO を戻さない場合、定義されません。
| 行状況配列の値 | 説明 |
|---|---|
| SQL_ROW_SUCCESS | 行が正常にフェッチされました。 |
| SQL_ROW_SUCCESS_WITH_INFO | 行は正常にフェッチされましたが、行について警告が戻されました。 |
| SQL_ROW_ERROR | 行がフェッチされた時にエラーが発生しました。 |
| SQL_ROW_ADDED | この行は SQLBulkOperations() に挿入されました。 行が再びフェッチされて、SQLSetPos() でリフレッシュされると、その状況は SQL_ROW_SUCCESS になります。この値は、 Db2 ODBC は、挿入された行を両方向スクロール・カーソルの結果セットで可視にしないため、この値を戻しません。 |
| SQL_ROW_UPDATED | 行は正常にフェッチされ、
この結果セットからフェッチされた最後のフェッチ以降に更新されています。 この結果セットから行が再びフェッチされるか、SQLSetPos() によってリフレッシュされると、状況がその行に対して新しい状況に変更されます。Db2 ODBC は、引き続き照会の述部を満たす場合、更新された行を可視にします。 したがって、 |
| SQL_ROW_DELETED | この結果セットからの最終フェッチ以後、行は削除されました。 Db2 ODBC は、削除された行を両方向スクロール・カーソルの結果セットで可視にしないため、この値を戻しません。 |
| SQL_ROW_NOROW | 行セットが結果セットの終りに重なり合い、行状況配列の対応エレメントに相当する行が戻されませんでした。 |