次の方法で共有


SQLBindCol (カーソル ライブラリ)

重要

この機能は、Windows の将来のバージョンで削除される予定です。 新しい開発作業ではこの機能を使用しないでください。また、現在この機能を使用しているアプリケーションの変更を計画してください。 Microsoft では、ドライバーのカーソル機能を使用することをお勧めします。

このトピックでは、カーソル ライブラリでの SQLBindCol 関数の使用について説明します。 SQLBindCol の一般的な情報については、「SQLBindCol 関数」を参照してください。

アプリケーションは、カーソル ライブラリに現在の行セットを返すために 1 つ以上のバッファーを割り当てます。 SQLBindCol を 1 回以上呼び出して、これらのバッファーを結果セットにバインドします。

バインドされた列の C データ型、列サイズ、および 10 進数が変わらない限り、アプリケーションは SQLBindCol を呼び出して、 SQLExtendedFetchSQLFetch、または SQLFetchScroll を呼び出した後に結果セット列を再バインドできます。 異なるアドレスに列を再バインドするために、アプリケーションでカーソルを閉じる必要はありません。

カーソル ライブラリでは、バインド オフセットを使用する SQL_ATTR_ROW_BIND_OFFSET_PTR ステートメント属性の設定がサポートされています。 (この再バインドを実行するために SQLBindCol を呼び出す必要はありません)。カーソル ライブラリが ODBC 3.x ドライバーで使用されている場合、 SQLFetch が呼び出されるときにバインド オフセットは使用されません。 SQLFetch が SQLExtendedFetch にマップされるため、カーソル ライブラリを ODBC 2.x ドライバーで使用するときに SQLFetch が呼び出される場合、バインド オフセットが使用されます。

カーソル ライブラリでは、ブックマーク列をバインドするための SQLBindCol の 呼び出しがサポートされています。

ODBC 2.x ドライバーを使用する場合、 SQLBindCol が 呼び出されると、カーソル ライブラリは SQLSTATE HY090 (文字列またはバッファーの長さが無効) を返し、ブックマーク列のバッファー長を 4 以外の値に設定します。 ODBC 3.x ドライバーを使用する場合、カーソル ライブラリではバッファーを任意のサイズにすることができます。