Important
この機能は、今後のバージョンの Windows で削除される予定です。 新しい開発作業ではこの機能を使用しないでください。現在この機能を使用しているアプリケーションを変更することを計画してください。 Microsoft では、ドライバーのカーソル機能を使用することをお勧めします。
ODBCカーソルライブラリを使用するには、以下のアプリケーションがあります:
特定の接続でカーソルライブラリの使い方を指定するために、属性 SQL_ATTR_ODBC_CURSORS のSQLSetConnectAttr を呼び出します。 カーソルライブラリは常に使用可能です(SQL_CUR_USE_ODBC)、ドライバーがスクロール可能なカーソルをサポートしていない場合のみ使用(SQL_CUR_USE_IF_NEEDED)、または一度も使わない(SQL_CUR_USE_DRIVER)。
SQLConnect、SQLDriverConnect、またはSQLBrowseConnectを呼び出してデータソースに接続します。
SQLSetStmtAttrを呼び出し、カーソルタイプ(SQL_ATTR_CURSOR_TYPE)、同時実行性(SQL_ATTR_CONCURRENCY)、行セットサイズ(SQL_ATTR_ROW_ARRAY_SIZE)を指定します。 カーソルライブラリは前進専用および静的カーソルをサポートしています。 フォワードオンリーカーソルは読み取り専用でなければなりませんが、静的カーソルは読み取り専用か、値を比較する楽観的並行制御を使用できます。
1つ以上の行セットバッファを割り当て、 SQLBindCol を1回以上呼び出してこれらのバッファを結果セットの列にバインドします。
SELECT文やプロシージャを実行するか、カタログ関数を呼び出すことで結果セットを生成します。 もしアプリケーションが位置付けされたupdate文を実行する場合は、結果セットを生成するために SELECT FOR文 UPDATE 実行すべきです。
SQLFetch または SQLFetchScroll を1回以上呼び出して結果セットをスクロールします。
アプリケーションは行セットバッファ内のデータ値を変更できます。 カーソルライブラリのキャッシュからのデータで行セットバッファを更新するには、アプリケーションが SQLFetchScroll を呼び出し、 FetchOrientation 引数をSQL_FETCH_RELATIVEに、 FetchOffset 引数を0に設定します。
非バウンドされた列からデータを取得するために、アプリケーションは SQLSetPosを 呼び出してカーソルを目的の行に配置します。 その後、 SQLGetData を呼び出してデータを取得します。
データソースから取得された行数を判別するために、アプリケーションは SQLRowCountを呼び出します。