Oracle® Objects for OLE Developer's Guide 11g Release 2 (11.2) for Microsoft Windows Part Number E17727-03 |
|
|
PDF · Mobi · ePub |
Returns a dynaset defined by the data control's Connect
, DatabaseName
, and RecordSource
properties. Not available at design time and read and write at run time.
Set oradynaset = oradata1.RecordsetSet oradata1.Recordset = Oradynaset
OLE Object (OraDynaset
)
The properties and methods of this dynaset are the same as those of any other dynaset object. The Recordset
property of the Oracle Data Control (.OCX
) can be set to external dynaset, or the Recordset property of the other data control. After the setting, Oracle Data control Database, session, and options properties now set to the corresponding properties of the external dynaset. Oracle data control shares the advisories of the external dynaset. This is very useful when attaching dynaset returned from the PL/SQL cursor by CreatePlsqlDynaset
Method.
This example demonstrates setting Recordset
property to external dynaset created by CreatePlsqlDynaset
method. This example returns a PL/SQL cursor as a external dynaset for the different values of DEPTNO
parameter. Make sure that corresponding stored procedure (found in EMPCUR.SQL
) is available in the Oracle Database. Copy this code into the definition section of a form containing the Oracle Data Control named oradata1
. Then, press 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