-1

我的代码是..

    public IDataReader ExecuteDataReader(string commandText, IDbConnection con)
    {
        return ExecuteDataReader(commandText, con, CommandType.Text);
    }
    public IDataAdapter ExecuteDataReader(string commandText)
    {
        IDbConnection connection = _connectionManager.GetConnection();
        return ExecuteDataReader(commandText, connection);   **//error shows**
    }

如何解决这个问题?帮我。

错误:

无法将类型“System.Data.IDataReader”隐式转换为“System.Data.IDataAdapter”。存在显式转换(您是否缺少演员表?)

4

3 回答 3

5

那么最简单的方法就是改变方法的返回类型:

public IDataReader ExecuteDataReader(string commandText)

如果你真的想返回一个IDataAdapter,你需要弄清楚如何IDataAdapter从一个IDataReader. 但它们确实是截然不同的界面——您似乎不太可能这样做。

于 2013-04-12T10:33:37.277 回答
2

您的方法返回 a DataAdapter,但是您的 return 语句返回 a IDataReader

如果您希望返回 a ,请更改返回类型IDataReader

public IDataReader ExecuteDataReader(string commandText)
{
    IDbConnection connection = _connectionManager.GetConnection();
    return ExecuteDataReader(commandText, connection);   **//error shows**
}
于 2013-04-12T10:35:36.960 回答
0

将第二种方法的返回类型更改为IDataReader

 public IDataReader ExecuteDataReader(string commandText)
{
    IDbConnection connection = _connectionManager.GetConnection();
    return ExecuteDataReader(commandText, connection);   **//error shows**
}
于 2013-04-12T10:34:27.230 回答