Data.DB.TDataSet.MoveBy
Delphi
function MoveBy(Distance: Integer): Integer; virtual;
C++
virtual int __fastcall MoveBy(int Distance);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | Data.DB.pas Data.DB.hpp |
Data.DB | TDataSet |
説明
データセット内のアクティブレコードに相対する別のレコードに移動します。
MoveBy メソッドを呼び出すと,Distance によって指定されたレコード数だけアクティブレコードを移動できます。Distance が正の値である場合は,データセット内を次に進みます。Distance が負の値である場合は前に戻ります。たとえば,次の文では,データセット内を 10 レコード分前に戻ります。
MoveBy(-10);
DataSet1->MoveBy(-10);
MoveBy はアクティブレコードに対する変更をすべて登録し,次の処理を実行します。
Bof プロパティ,および Eof プロパティを false に設定します。
Distance が正の値の場合は,可能ならば Distance 以降のレコードを繰り返し取得し,最後に取得したレコードをアクティブにします。ファイルの最後を超える移動を試みると,MoveBy は Eof を true に設定します。
Distance が負の値の場合は,可能ならば前にある適切な数のレコードを繰り返し取得し,最後に取得したレコードをアクティブにします。ファイルの先頭を超える移動を試みると,MoveBy は Bof を true に設定します。データセットが単方向の場合,データセットは,MoveBy が前にあるレコードを取り出そうとしたときに EDatabaseError 例外を生成します。
データベース対応コントロールおよびリンクされているデータセットが更新されるようにレコード変更についての情報をブロードキャストします。
移動したレコード数を返します。ほとんどの場合,Result は Distance の絶対値になります。ただし,MoveBy が Distance 分のレコードを移動する前にファイルの先頭または最後に到達した場合は,Result の値は Distance の絶対値より小さい値になります。