ヘッダーをスキップ
Oracle® Objects for OLE開発者ガイド
11gリリース2 (11.2) for Microsoft Windows
B58887-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

MovePreviousn、MoveNextn、MoveRelおよびMoveToメソッド

説明

指定されたダイナセット内の指定された行にカーソル位置を変更します。

使用方法

oradynaset.MovePreviousn offset
oradynaset.MoveNextn offset
oradynaset.MoveRel offset 
oradynaset.MoveTo offset

MoveNextnメソッド

オフセットのレコード分、次に進みます。

MovePreviousnメソッド

オフセットのレコード分、前に戻ります。

MoveRelメソッド

現行の行を基準にしてオフセットのレコード分、移動します。正の値(プラス(+)記号で表される)はカーソルを表の下方向に移動し、負の値はカーソルを表の上方向に移動します。

MoveToメソッド

行番号オフセットに直接移動します。

備考

カーソルがMoveNextnMoveRelまたはMoveToメソッドを使用してダイナセットの最後を超えて移動すると、EOFが設定されます。カーソルがMovePreviousnMoveRelまたはMoveToメソッドを使用してダイナセットの最初を超えて移動すると、BOFが設定されます。MoveNextnMovePreviousnおよびMoveToメソッドは正の整数のみオフセットとして受け入れます。MoveRelメソッドは、正と負の両方の整数をオフセットとして受け入れます。

MoveTo rownumは、その行が削除されないかぎり、常に同じ行を取得します。要求された行が削除されていた場合、MoveToメソッドは、有効な次の行に移動します。MoveNextnMovePreviousnMoveRelおよびMoveToメソッドでは、削除された行は考慮されないため、行番号の相対的な位置に基づいてこれらのメソッドを使用する場合は注意してください。

データ型

Long Integer

この例では、MovePreviousnMoveNextnMoveRelおよびMoveToメソッドの使用方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。

 Private Sub Form_Load()
  Dim OraSession As OraSession 
  Dim OraDatabase As OraDatabase 
  Dim OraDynaset As OraDynaset 
  Dim OraFields As OraFields 
 
  Set OraSession = CreateObject("OracleInProcServer.XOraSession")
  Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "SCOTT/TIGER", 0&)
  Set OraDynaset = OraDatabase.CreateDynaset("select * from emp where empno" & _
             ">=7654 and empno <= 7844 ", ORADYN_NO LANKSTRIP)
  Set OraFields = OraDynaset.Fields 
 
  'Move to 3rd record from the first record
  OraDynaset.MoveNextn 3  'Should set EOF to true
  MsgBox OraFields("ename").Value  ' Should be display SCOTT
  
  If OraDynaset.EOF = True Then
    MsgBox "End of the record reached"
  End If
  
  'Move back from the current record by the offset 2
  OraDynaset.MovePreviousn 2    
  MsgBox OraFields("ename").Value  ' Should be display BLAKE
 
  If OraDynaset.BOF = True Then
    MsgBox "Start of the record reached"
  End If
   
  'Move relative in the forward direction 
  OraDynaset.MoveRel 2
  MsgBox OraFields("ename").Value  ' Should be display SCOTT
 
  If OraDynaset.EOF = True Then
    MsgBox "End of the record reached"
  End If
 
  'Move relative in the backward direction 
  OraDynaset.MoveRel -2
  MsgBox OraFields("ename").Value  ' Should be display BLAKE
 
  If OraDynaset.BOF = True Then
    MsgBox "Start of the record reached"
  End If 
 
  'Move to the record position 4 in the current dynaset
   OraDynaset.MoveTo 4
   MsgBox OraFields("ename").Value  ' Should be display SCOTT
  
End Sub