首页新闻找找看学习计划

C# , 如何从oracle存储过程中得到返回的数据集

0
悬赏园豆:10 [已解决问题] 解决于 2013-06-01 11:40
oracle 存储过程:
procedure getdata(date in varchar2, rs out cm_pkg.refCurror)//cm_pkg.refCurror是自定义类型

上述存储过程的写法没问题,已经在现有的WinForm系统上正常运行了很长时间,我现在的任务是将其移植到SilverLight平台上,所以需要改写一些方法。

C#中调用该存储过程,如何获得返回数据集
我是这样写的

OracleConnection conn = new OracleConnection(constr);
OracleCommand cmd = conn.CreateCommand();
cmd.CommandText = "getdata";

cmd.CommandType = CommandType.StoreProcedure;
cmd.Parameters.AddWithValue("date", "20130401");
cmd.Parameters.Add("rs", OracleType.Cursor);
cmd.Parameters.Parameters[1].Direction = System.Data.ParameterDirection.Output;
OracleDataReader r = cmd.ExecuteReader();

 

当执行到最后一句时,报错“无效操作,连接被关闭”
这段代码如何改写。谢谢

潜心中的主页 潜心中 | 初学一级 | 园豆:180
提问于:2013-05-27 16:24
< >
分享
最佳答案
1
conn 没有 Open
收获园豆:10
geass.. | 小虾三级 |园豆:1751 | 2013-05-27 18:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册