順方向専用カーソル
一般的な既定のカーソルの種類は、順方向専用 (またはスクロール不可) カーソルと呼ばれ、結果セット内を前方にのみ移動できます。 順方向専用カーソルでは、スクロール (結果セット内を前後に移動する機能) はサポートされません。結果セットの先頭から末尾に向けた行のフェッチのみがサポートされます。 一部の順方向専用カーソル (SQL Server カーソル ライブラリを使用する場合など) では、現在のユーザーが行い (または別のユーザーがコミットし)、結果セット内の行に影響を与えたすべての挿入、更新、削除ステートメントは、行がフェッチされると確認できます。 ただし、カーソルは後方にスクロールできないので、データベース内の行のフェッチ後にその行に対して行われた変更内容は、カーソル内で確認できません。
現在の行のデータが処理されると、順方向専用カーソルは、そのデータを保持するために使用されたリソースを解放します。 順方向専用カーソルは既定では動的であり、現在の行が処理されるとすべての変更が検出されることを意味します。 これにより、カーソルを開く時間が短縮され、基になるテーブルに対して行われた更新を結果セットで表示できるようになります。
順方向専用カーソルでは後方スクロールはサポートされていませんが、アプリケーションでカーソルを閉じて開きなおすことにより、結果セットの先頭にカーソルを戻すことができます。 これは、少量のデータを処理する効果的な方法です。 別の方法として、アプリケーションで結果セットを 1 回読み取り、データをローカルにキャッシュしてから、ローカル データ キャッシュを参照することもできます。
アプリケーションで結果セット内をスクロールする必要がない場合、オーバーヘッドを最小限に抑えてデータをすばやく取得する最善の方法は、順方向専用カーソルです。 ADO で順方向専用カーソルを使用することを示すには、adOpenForwardOnly CursorTypeEnum を使用します。