У меня есть код C #, который выполняет хранимую процедуру. Процедура выполнена отлично, и в наборе данных я также могу найти ожидаемые две таблицы. Но в таблице нет строк.
Мой код C #:
using (OracleConnection OraConx = new OracleConnection())
{
InitOraConn(OraConx);
string CommandText = "Stored procedure";
OracleDataAdapter oda = new OracleDataAdapter (new OracleCommand(CommandText, OraConx));
oda.SelectCommand.CommandType = CommandType.StoredProcedure;
oda.SelectCommand.Parameters.Add("I_QTR_YR", qtrYr);
oda.SelectCommand.Parameters.Add("I_EMP_ID", empID);
oda.SelectCommand.Parameters.Add("o_result", OracleDbType.RefCursor)
.Direction = ParameterDirection.Output;
oda.SelectCommand.Parameters.Add("p_result", OracleDbType.RefCursor)
.Direction = ParameterDirection.Output;
oda.SelectCommand.Connection = OraConx;
DataSet ds = new DataSet();
oda.Fill(ds);
return ds;
}
Моя хранимая процедура:
PROCEDURE sel_data_for_report (
i_emp_id IN varchar2(20),
i_qtr_yr IN varchar2(20),
o_result OUT sys_refcursor,
p_result OUT sys_refcursor
)
IS
BEGIN
OPEN o_result FOR
SELECT *
FROM table1
WHERE qtr_yr = i_qtr_yr
OPEN p_result FOR
SELECT * from table2
where emp_id = i_emp_id
and qtr_yr = i_qtr_yr ;
END sel_data_for_report;
Мне нужен способ чтения обеих данных таблицы в набор данных.