次の方法で共有


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

重要

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

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

カーソル ライブラリは SQLGetData を実装します。まず、現在の行のバインドされた列ごとにキャッシュに格納されている値を列挙する WHERE 句を使用して SELECT ステートメントを作成します。 その後、 SELECT ステートメントを実行して行を再選択し、ドライバーで SQLGetData を呼び出して(キャッシュではなく) データ ソースからデータを取得します。

注意事項

現在の行を識別するためにカーソル ライブラリによって構築された WHERE 句は、行の識別、別の行の識別、または複数の行の識別に失敗する可能性があります。 詳細については、「 検索されたステートメントの構築」を参照してください。

SQL_ATTR_USE_BOOKMARKS ステートメント属性が SQL_UB_VARIABLE に設定されている場合は、列 0 で SQLGetData を呼び出してブックマーク データを返すことができます。

SQLGetData の呼び出しには、次の制限があります。

  • 前方スクロール カーソルに対して SQLGetData を呼び出すことはできません。

  • SQLGetData は、次の条件が満たされた場合にのみ呼び出すことができます。 SELECT ステートメントによって結果セットが生成されました。 SELECT ステートメントに結合、 UNION 句、または GROUP BY 句が含まれていませんでした。選択リストで別名または式を使用した列は 、SQLBindCol にバインドされませんでした。

  • ドライバーがアクティブなステートメントを 1 つだけサポートしている場合、カーソル ライブラリは SELECT ステートメントを実行して SQLGetData を呼び出す前に、結果セットの残りの部分をフェッチします。