説明
データ・コントロールのConnect
、DatabaseName
およびRecordSource
プロパティによって定義されたダイナセットを戻します。設計時には使用できず、実行時は読取り/書込みができます。
備考
このダイナセットのプロパティおよびメソッドは、他のダイナセット・オブジェクトの場合と同じです。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