不能隐式转换类型'system . data . idatreader '& # 39; System.

本文关键字:idatreader System data system 类型 不能 转换 | 更新日期: 2023-09-27 18:08:43

我的代码是…

    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"。存在显式转换(是吗?

不能隐式转换类型'system . data . idatreader '& # 39; System.

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

public IDataReader ExecuteDataReader(string commandText)

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

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

如果希望返回IDataReader:

,则更改返回类型。
public IDataReader ExecuteDataReader(string commandText)
{
    IDbConnection connection = _connectionManager.GetConnection();
    return ExecuteDataReader(commandText, connection);   **//error shows**
}

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

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