ExecuteReader()对象不能被转换

本文关键字:转换 不能 对象 ExecuteReader | 更新日期: 2023-09-27 18:13:23

我已经在服务器上设置了一个mySql数据库,现在我想要达到它,以便我做一个web服务。首先,我只是想测试我是否可以从我的方法(OneEntity)的查询中抓取一个实体,并将其放入我的列表中。

    public IEnumerable<Person> Get()
    {
        return new List<Person> {
        new Person{ ID = 0, First = OneEntity(), Last ="Example"}
        };
    } 
    public string OneEntity()
    {
        MySql.Data.MySqlClient.MySqlConnection mySqlConnection;
        MySql.Data.MySqlClient.MySqlCommand cmd;
        String connString = System.Configuration.ConfigurationManager.ConnectionStrings["MySql"].ToString();
        mySqlConnection = new MySql.Data.MySqlClient.MySqlConnection(connString);
        cmd = new MySql.Data.MySqlClient.MySqlCommand();
        cmd.CommandText = "SELECT 'name' FROM 'CustomerDb' WHERE 'id' = 0";
        cmd.CommandType = CommandType.Text;
        cmd.Connection = mySqlConnection;
        mySqlConnection.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        mySqlConnection.Close();
        return reader;
     }

我是不是非常有经验的c#,因此不确定我做的是否正确。然而,在我的cmd.ExecuteReader()(对象我猜它是?!??!)我得到它

不能隐式转换类型'MySql.Data '。MySqlDataReader"System.Data.SqlClient.SqlDataReader"

我做错了什么??显然我的返回是不正确的,因为我指定我的方法是'string'..但即使我输入一个字符串,错误也不会消失吗?

ExecuteReader()对象不能被转换

您应该使用MySqlDataReader而不是SqlDataReader

MySqlDataReader Reader = cmd.ExecuteReader();

代码应该返回string,而不是您的reader

返回第一项使用return reader.GetString(0);