仮想 void 移動 ( 長い nRows、WORD wFetchType = SQL_FETCH_RELATIVE);
スロー ( CDBException、CMemoryException );
パラメーター
nRows
前方に移動する行の数または下位。正の値、レコード セットの末尾に向かって進みます。負の値と、先頭方向に移動します。
wFetchType
移動を取得する行セットを決定します。詳細については、「解説」を参照してください。
解説
前方または後方レコード セット内の現在のレコード ポインターを移動するにはこのメンバー関数を呼び出します。NRowsは 0 の値を渡す場合は、移動現在のレコードが更新されます;移動は現在AddNewまたは編集モードを終了するAddNewの前に、現在のレコードの値が復元されますや編集と呼ばれていた。
注特価;レコード セット内を移動すると、削除されたレコードがスキップされないことがあります。詳細については、 IsDeletedメンバー関数を参照してください。(&N)。
移動レコード セットは行セット単位で移動します。NRowsおよびwFetchTypeの値に基づいて、移動適切な行セットをフェッチし、最初のレコードは行セットの現在のレコードになります。バルク行フェッチを実装していない場合は、行セットのサイズは常に 1 です。行セットをフェッチする場合、移動直接からのフェッチの結果、エラーを処理するために、 CheckRowsetErrorメンバー関数を呼び出します。
渡す値によって、移動他CRecordsetメンバー関数に相当します。特に、 wFetchTypeの値をより直感的なメンバー関数と多くの場合、現在のレコードを移動優先メソッド可能性があります。
次の表に、値wFetchTypeをwFetchTypeとnRows、およびwFetchTypeに対応する同等のメンバー関数の移動を取得する行セットに基づいて。
| wFetchType | 取得した行セット | 等価のメンバー関数 |
| SQL_FETCH_RELATIVE(既定値) | 行セット内の現在の行の最初の行からnRows行を開始。 | |
| SQL_FETCH_NEXT | 次の行セット;nRowsは無視されます。 | MoveNext |
| SQL_FETCH_PRIOR | 前の行セット;nRowsは無視されます。 | MovePrev |
| SQL_FETCH_FIRST | 最初の行セットのレコード;nRowsは無視されます。 | MoveFirst |
| SQL_FETCH_LAST | 最後の完全な行セットのレコード;nRowsは無視されます。 | MoveLast |
| SQL_FETCH_ABSOLUTE | 場合nRows gt;0、 nRows行、レコード セットの先頭から始まる行セット。NRows < 0、 nRows行セットは、レコード セットの末尾から row(s) かどうか。場合nRowsはファイルの先頭 (BOF) 状態が返されます = 0、。 | SetAbsolutePosition |
| SQL_FETCH_BOOKMARK | ブックマーク値nRowsに対応する行で始まる行セット。 | SetBookmark |
注特価;直流順だけのレコード セットの移動のみ有効値SQL_FETCH_NEXTのwFetchTypeのです。(&N)。
注意特価;レコード セットにレコードがあるない場合は移動を呼び出し、例外をスローします。レコード セットにレコードが存在するかどうかを確認するには、 IsBOFとIsEOFを呼び出します(&N)。
先頭または末尾のレコード セット (IsBOFまたはIsEOF返します 0 以外の値) の過去をスクロールしている場合は、移動の関数を呼び出すとおそらく、 CDBExceptionがスローされます。たとえば、 IsEOFが 0 以外を返します、 IsBOFをしない場合は、[ MoveNextが例外がスローされますがMovePrevされません。
場合は、現在のレコードの中には、移動を呼び出す更新または追加、更新プログラムは警告なしに失われます。
レコード セットの移動の詳細についてを参照してください レコード セット: スクロール (ODBC)と レコード セット: ブックマークと絶対位置 (ODBC)でVisual の C++ プログラマのガイド。バルク行フェッチの詳細については、資料を参照してください レコード セット: レコードのフェッチ一括 (ODBC)でVisual の C++ プログラマのガイド。関連情報については、ODBC API 関数SQLExtendedFetch 『 ODBC SDK programmer's Referenceを参照してください。
例
・ rs は、CRecordset または//CRecordset の派生オブジェクト//は行セット サイズを 5 に変更rs。SetRowsetSize (5);//最初のレコードに移動//、レコード セットでrs。MoveFirst ();//、6 番目のレコードに移動rs。(5) を移動します。//その他同等の方法//、6 番目のレコードに移動します。//rs。(6、SQL_FETCH_ABSOLUTE) を移動します。//rs。SetAbsolutePosition (6);//この場合は、6 番目のレコード//最初のレコード、次の行セットで//以下も同等です。//rs。移動 (1, SQL_FETCH_NEXT);//rs。MoveNext)
CRecordset の概要|nbsp;クラス メンバー |階層図(&N)
参照特価;CRecordset::MoveNext、 CRecordset::MovePrev、 CRecordset::MoveFirst、 CRecordset::MoveLast、 CRecordset::SetAbsolutePosition、 CRecordset::SetBookmark、 CRecordset::IsBOF、 CRecordset::IsEOF、 CRecordset::CheckRowsetError(&N)