我用EnterpriseLibrary + Oracle,有一个存储过程,返回两个参数
p_OutRecordCount out int,--返回总记录数
p_OutCursor out refCursorType--返回分页后得到的结果集
在方法
public DataSet GetSPPageBCLYDXX( int p_PageSize,int p_PageNo, out int OutRecordCount )中:
dbCommandWrapper.AddOutParameter("p_OutRecordCount", DbType.Decimal, 4);
dbCommandWrapper.AddParameter("p_OutCursor", DbType.Object, 0, ParameterDirection.Output, true, 0, 0, String.Empty, DataRowVersion.Default, Convert.DBNull);
dsCustomers = db.ExecuteDataSet(dbCommandWrapper);
OutRecordCount = Convert.ToInt32(dbCommandWrapper.GetParameterValue("p_OutRecordCount").ToString());
上面游标返回是否可以用DbType.Object类型?还有因为有两个参数,是用ExecuteDataSet还是用ExecuteNonQuery?

解决方案 »

  1.   

    还有在Database db = DatabaseFactory.CreateDatabase("DataAccessQuickStart");就错了,请问会有什么原因?
      

  2.   

    是否可以用DbType.Object类型?
    参考一下这篇BlogDBProvider 连接 Oracle 10g 数据库的问题 
    http://yuxu.cnblogs.com/archive/2005/12/19/300476.html
      

  3.   

    还有在Database db = DatabaseFactory.CreateDatabase("DataAccessQuickStart");就错了,请问会有什么原因?这里就出错,肯定未配好 EntLibEntLib 2.0有配置工具