1. Oracle存储过程:
可以先创建一个通用的包,再创建存储过程:
--创建包
create or replace package pkg_emp
as
type result_type is ref cursor;
end pkg_emp;
--创建存储过程
create or replace procedure getEmpData
(
p_sursor out pkg_emp.result_type,
p_deptno integer
)
is
begin
open p_sursor for
select * from emp where deptno=p_deptno;
end getEmpData;
2..Net程序中调用:
数据库操作类可以参考:http://blog.youkuaiyun.com/gdjlc/article/details/5677882
使用:
DataBase db = new DataBase();
DbParameter[] paras = {
new OracleParameter("p_sursor", OracleType.Cursor, 2000, ParameterDirection.Output, true, 0, 0, "",DataRowVersion.Default, Convert.DBNull),
new OracleParameter("p_deptno", OracleType.Int32)
};
paras[1].Value = 20;
DataSet ds = db.GetDataSetByProc("getEmpData", paras);
GridView1.DataSource = ds;
GridView1.DataBind();