当我从另一个类调用此方法时,我得到一个异常:
public DataSet getDataSet(String storedProcedureName, params object[] values)
{
Database db = DatabaseFactory.CreateDatabase("myDSN");
return db.ExecuteDataSet(storedProcedureName, values); // This line fails
}
这是我得到的错误:
使用GenericDatabase的连接不支持参数发现。您必须显式指定参数,或将连接配置为使用从支持参数发现的数据库派生的类型。
但是,如果我使用此代码并且存储过程没有参数,则可以正常工作:
public DataSet GetDataSet(CommandType commandType, string storedProcedureName)
{
Database db = DatabaseFactory.CreateDatabase("myDSN");
return db.ExecuteDataSet(commandType, storedProcedureName);
}
那么,我应该怎么做才能使第一种方法有效? 我在我的项目中使用visual studio community 2015,sql server 2008 R2 express,enterprise library 5和.net framework 4.5.2。