ブックマークの取得

アプリケーションがブックマークを使用する場合、ステートメントを準備または実行する前に SQL_UB_VARIABLE に SQL_ATTR_USE_BOOKMARKS ステートメント属性を設定しなければなりません。 ブックマークの構築と維持にはコストがかかるため、ブックマークはアプリケーションが有効に利用できる場合にのみ有効にすべきである。

ブックマークは結果セットのカラム 0 として返されます。 アプリケーションがこれらを取得する方法は3つあります:

  • 結果セットのカラム 0 をバインドします。 SQLFetch または SQLFetchScroll は、行セット内の各行のブックマークを、他のバインドされた列のデータと共に返します。

  • SQLSetPos を呼び出して行セット内の行の位置を決め、SQLGetData を列 0 に対して呼び出します。 ドライバがブックマークをサポートする場合、アプリケーションが最後にバインドされた列より前の他の列に対して SQLGetData を呼び出すことを許可しない場合でも、常に列 0 に対して SQLGetData を呼び出す機能をサポートしなければなりません。

  • SQLBulkOperationsOperation 引数を SQL_ADD に設定し、カラム0をバインドして呼び出します。 カーソルは行を挿入し、バインドされたバッファ内の行のブックマークを返す。