行のスクロールとフェッチ (ODBC)

スクロール可能なカーソルを使用すると、アプリケーションは Sqlfetchscroll を呼び出してカーソルを移動し、行をフェッチします。 Sqlfetchscroll は、相対スクロール (次、前、相対 n 行)、絶対スクロール (最初、最後、および行 n)、およびブックマークによる配置をサポートしています。 次の図に示すように、 SqlfetchscrollFetchorientation引数とfetchorientation引数は、フェッチする行セットを指定します。

次、前、最初、および最後の行セットのフェッチ

次、前、最初、および最後の行セットのフェッチ

絶対的行セット、相対的行セット、およびブックマーク付き行セットのフェッチ

絶対行セット、相対行セット、およびブックマーク付き行セットのフェッチ

Sqlfetchscroll は、指定された行にカーソルを置いて、その行から始まる行セット内の行を返します。 指定された行セットが結果セットの末尾に重なっている場合は、部分行セットが返されます。 指定された行セットが結果セットの先頭に重なっている場合は、通常、結果セットの最初の行セットが返されます。詳細については、 Sqlfetchscroll 関数の説明を参照してください。

場合によっては、データを取得せずに、アプリケーションでカーソルを配置することが必要になることがあります。 たとえば、行が存在するかどうかをテストしたり、ネットワーク上で他のデータを使用せずに行のブックマークを取得したりすることができます。 これを行うには、SQL_ATTR_RETRIEVE_DATA statement 属性を SQL_RD_OFF に設定します。 Bookmark 列にバインドされている変数 (存在する場合) は、このステートメント属性の設定に関係なく、常に更新されます。

行セットが取得されると、アプリケーションは SQLSetPos を呼び出して、行セット内の特定の行に移動したり、行セット内の行を更新したりできます。 Sqlsetposの使用方法の詳細については、「sqlsetpos を使用したデータの更新」を参照してください。

注意

スクロールは ODBC 2 でサポートされています。x ドライバー ( SQLExtendedFetch)。 詳細については、「付録 G: 旧バージョンとの互換性のためのドライバーガイドライン」の「 ブロックカーソル、スクロール可能なカーソル、および旧バージョンとの互換性」を参照してください。