適用対象
説明
データ・コントロールのConnect、DatabaseNameおよびRecordSourceプロパティによって定義されたダイナセットを戻します。設計時には使用できず、実行時は読取り/書込みができます。
使用方法
Set oradynaset = oradata1.RecordsetSet oradata1.Recordset = Oradynaset
データ型
OLEオブジェクト(OraDynaset)
備考
このダイナセットのプロパティおよびメソッドは、他のダイナセット・オブジェクトの場合と同じです。Oracle Data Control(.OCX)のRecordsetプロパティは、外部のダイナセット、すなわち別のデータ・コントロールのRecordsetプロパティに設定できます。この設定を行った後、Oracle Data ControlのDatabase、SessionおよびOptionsのプロパティが、外部ダイナセットの対応するプロパティに設定されます。Oracle Data Controlでは、外部ダイナセットのアドバイス・オブジェクトが共有されます。これは、CreatePlsqlDynasetメソッドでPL/SQLカーソルから戻されたダイナセットを添付する場合に役立ちます。
例
この例では、CreatePlsqlDynasetメソッドで作成された外部ダイナセットに対するRecordsetプロパティの設定を示します。この例では、PL/SQLカーソルを、DEPTNOパラメータの様々な値を含む外部ダイナセットとして戻します。対応するストアド・プロシージャ(EMPCUR.SQLにある)が、Oracle Databaseから利用可能であることを確認してください。このコードを、oradata1という名前のOracle Data Controlを含むフォームの定義セクションにコピーします。次に[F5]を押します。
Sub Form_Load ()
'Declare variables as OLE Objects.
Dim OraSession As OraSession
Dim OraDatabase As OraDatabase
Dim OraDynaset As OraDynaset
'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&)
' Create the Deptno parameter
OraDatabase.Parameters.Add "DEPTNO", 10, ORAPARM_INPUT
OraDatabase.Parameters("DEPTNO").ServerType = ORATYPE_NUMBER
' Create OraDynaset based on "EmpCursor" created in stored procedure.
Set OraDynaset = OraDatabase.CreatePLSQLDynaset("Begin Employee.GetEmpData (:DEPTNO,:EmpCursor); end;", "EmpCursor", 0&)
' Now attach the Oradynaset to Data control's recordset.
set oradata1.recordset = OraDynaset
...
' Do some operation
...
' Now set the deptno value to 20
OraDatabase.Parameters("DEPTNO").Value = 20
'Refresh the sqlstmt
Oradata1.recordset.Refresh
'Remove the parameter.
OraDatabase.Parameters.Remove ("DEPTNO")
End Sub