日期:2014-05-17  浏览次数:21321 次

OracleParameterCollection 只接受非空的 OracleParameter 类型对象,不接受 OracleParameter 对象。
第一次调用Oracle11G的存储过程

  代码:
C# code
DbCommand dbcmd = db.GetStoredProcCommand("getinstockbillanddetails");
            //添加参数
            db.AddInParameter(dbcmd, "instockid", DbType.Int32, int.Parse(stockId));
            db.AddInParameter(dbcmd, "primaryname", DbType.String, "asdas");
            db.AddInParameter(dbcmd, "attachname", DbType.String, "asdas");
            OracleParameter oraPara1 = new OracleParameter("cur1", OracleDbType.RefCursor, ParameterDirection.Output);
            OracleParameter oraPara2 = new OracleParameter("cur2", OracleDbType.RefCursor, ParameterDirection.Output);

            //添加参数到cmd
            dbcmd.Parameters.Add(oraPara1);
            dbcmd.Parameters.Add(oraPara2);

            DataSet ds = db.ExecuteDataSet(dbcmd);


 但是每次执行到这个句:dbcmd.Parameters.Add(oraPara1);就报错“OracleParameterCollection 只接受非空的 OracleParameter 类型对象,不接受 OracleParameter 对象。”

  用的是企业库。 有高手帮忙看看什么情况么?

------解决方案--------------------
把存储过程代码贴一下