/* oracle 返回结果集的存储过程
1、先创建一个包
create or replace testpaceage as
type test_cursor is ref cursor;
end testpaceage;
2、创建存储过程,获取结果集
create or replace procedure sp_pro9
(spNo in number,p_cursor out testpaceage.test_cursor)
is
begin
open p_cursor for select * from emp where deptno=spno;
end
*/
//C#代码
OracleDataAdapter sdr = new OracleDataAdapter();
OracleCommand cmd = new OracleCommand();
OracleParameter[] parameters ={
new OracleParameter("spno",OracleType.Number),
new OracleParameter("p_cursor",OracleType.Cursor),
};
parameters[0].Value =30;
parameters[1].Direction = ParameterDirection.Output;
cmd.Connection = conn;
cmd.CommandText ="sp_pro9";
cmd.CommandType = CommandType.StoredProcedure;
foreach (OracleParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
sdr.SelectCommand = cmd;
DataSet ds = new DataSet();
sdr.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();