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

前
 
次
 

GetRowsメソッド

説明

ダイナセット・オブジェクトの複数のレコードをVariant型のSAFEARRAYに取り出します。

使用方法

Array =OraDynaset.GetRows(num_rows, start, fields )

引数

このメソッドの引数は、次のとおりです。

引数 説明
num_rows [オプション] 取り出すレコードの数を表すInteger。デフォルト値はダイナセット内の行全体の数です。
start [オプション] GetRows操作を開始するダイナセットの開始位置を表すInteger。デフォルト値はダイナセットの現在の位置です。
fields [オプション] 単一のフィールド名、フィールド位置、フィールド名の配列またはフィールド位置番号の配列を表すVariantGetRowsメソッドはこれらのフィールド内のデータのみを戻します。

備考

ダイナセットから2次元の配列にレコードをコピーするには、GetRowsメソッドを使用します。最初の添字はフィールドを識別し、2番目の添字は行番号を識別します。GetRowsメソッドがデータを戻すときに、Array変数は自動的に適切なサイズに設定されます。

GetRowsメソッドのコールは、ダイナセット・オブジェクトの現在の行位置を変更しません。

次の例では、GetRowsメソッドを使用してデータを取り出します。

Dim OraSession As OraSession
Dim OraDatabase As OraDatabase
Dim OraDynaset As OraDynaset
Dim row, col As Integer
Dim fields() As String
 
'Create the OraSession Object
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
 
'Create the OraDatabase Object by opening a connection to Oracle
Set OraDatabase = OraSession.OpenDatabase("ExampleDb", _
               "scott/tiger", 0&)
 
Set OraDynaset = OraDatabase.CreateDynaset("select * from emp", 0&)
 
'The following line executes GetRows to get all records
data_array = OraDynaset.GetRows()
 
'Now display all the data in data_array
For row = 0 To UBound(data_array, 2)
    For col = 0 To UBound(data_array, 1)
        Debug.Print data_array(col, row)
    Next col
Next row
 
'The following lines execute GetRows to get the data from
'the ename and empno fields starting at 5
 
ReDim fields(2)
 
fields(0) = "EMPNO"
fields(1) = "ENAME"
 
'Execute GetRows
data_array = OraDynaset.GetRows(, 5, fields)
 
'Now display all the data in data_array
For row = 0 To UBound(data_array, 2)
    For col = 0 To UBound(data_array, 1)
        Debug.Print data_array(col, row)
    Next col
Next row