
Filling a DataSet Using One or More REF CURSORs
This Microsoft Visual Basic example executes a PL/SQL stored procedure that returns two REF CURSOR parameters, and fills a DataSet with the rows that are returned.
Private Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim connString As New String(_ "Data Source=Oracle9i;User ID=scott;Password=tiger;") Dim ds As New DataSet() Using conn As New OracleConnection(connString) Dim cmd As New OracleCommand() cmd.Connection = conn cmd.CommandText = "CURSPKG.OPEN_TWO_CURSORS" cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.Add(New OracleParameter( _ "EMPCURSOR", OracleType.Cursor)).Direction = _ ParameterDirection.Output cmd.Parameters.Add(New OracleParameter( _ "DEPTCURSOR", OracleType.Cursor)).Direction = _ ParameterDirection.Output Dim da As New OracleDataAdapter(cmd) da.TableMappings.Add("Table", "Emp") da.TableMappings.Add("Table1", "Dept") da.Fill(ds) ds.Relations.Add("EmpDept", ds.Tables("Dept").Columns("Deptno"), _ ds.Tables("Emp").Columns("Deptno"), False) DataGrid1.DataSource = ds.Tables("Dept") End Using
