CRecordset::Move

仮想 void 移動 ( 長い nRows、WORD wFetchType = SQL_FETCH_RELATIVE);
スロー ( CDBException、CMemoryException );

パラメーター

nRows

前方に移動する行の数または下位。正の値、レコード セットの末尾に向かって進みます。負の値と、先頭方向に移動します。

wFetchType

移動を取得する行セットを決定します。詳細については、「解説」を参照してください。

解説

前方または後方レコード セット内の現在のレコード ポインターを移動するにはこのメンバー関数を呼び出します。NRowsは 0 の値を渡す場合は、移動現在のレコードが更新されます;移動は現在AddNewまたは編集モードを終了するAddNewの前に、現在のレコードの値が復元されますや編集と呼ばれていた。

特価;レコード セット内を移動すると、削除されたレコードがスキップされないことがあります。詳細については、 IsDeletedメンバー関数を参照してください。(&N)。

移動レコード セットは行セット単位で移動します。NRowsおよびwFetchTypeの値に基づいて、移動適切な行セットをフェッチし、最初のレコードは行セットの現在のレコードになります。バルク行フェッチを実装していない場合は、行セットのサイズは常に 1 です。行セットをフェッチする場合、移動直接からのフェッチの結果、エラーを処理するために、 CheckRowsetErrorメンバー関数を呼び出します。

渡す値によって、移動CRecordsetメンバー関数に相当します。特に、 wFetchTypeの値をより直感的なメンバー関数と多くの場合、現在のレコードを移動優先メソッド可能性があります。

次の表に、値wFetchTypewFetchTypenRows、および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_NEXTwFetchTypeのです。(&N)。

注意特価;レコード セットにレコードがあるない場合は移動を呼び出し、例外をスローします。レコード セットにレコードが存在するかどうかを確認するには、 IsBOFIsEOFを呼び出します(&N)。

先頭または末尾のレコード セット (IsBOFまたはIsEOF返します 0 以外の値) の過去をスクロールしている場合は、移動の関数を呼び出すとおそらく、 CDBExceptionがスローされます。たとえば、 IsEOFが 0 以外を返します、 IsBOFをしない場合は、[ MoveNextが例外がスローされますがMovePrevされません。

場合は、現在のレコードの中には、移動を呼び出す更新または追加、更新プログラムは警告なしに失われます。

レコード セットの移動の詳細についてを参照してください レコード セット: スクロール (ODBC) レコード セット: ブックマークと絶対位置 (ODBC)Visual の C++ プログラマのガイド。バルク行フェッチの詳細については、資料を参照してください レコード セット: レコードのフェッチ一括 (ODBC)Visual の C++ プログラマのガイド。関連情報については、ODBC API 関数SQLExtendedFetchODBC 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::MoveNextCRecordset::MovePrevCRecordset::MoveFirstCRecordset::MoveLastCRecordset::SetAbsolutePositionCRecordset::SetBookmarkCRecordset::IsBOFCRecordset::IsEOFCRecordset::CheckRowsetError(&N)

Index