无法将类型'System.Data.IDataReader'隐式转换为'System.Data.IDataAdapter'。存在显式转换(您是否错过了演员?)

时间:2013-04-12 10:32:14

标签: c#

我的代码是..

    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'。存在显式转换(是你   错过演员?)

3 个答案:

答案 0 :(得分:4)

最简单的方法就是更改方法的返回类型:

public IDataReader ExecuteDataReader(string commandText)

如果确实想要返回IDataAdapter,那么您需要了解如何从IDataAdapter实施IDataReader。但他们的界面确实存在很大差异 - 你似乎不太可能这样做。

答案 1 :(得分:1)

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

如果您想返回IDataReader

,请更改退货类型
public IDataReader ExecuteDataReader(string commandText)
{
    IDbConnection connection = _connectionManager.GetConnection();
    return ExecuteDataReader(commandText, connection);   **//error shows**
}

答案 2 :(得分:0)

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

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