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'..但即使我输入一个字符串,错误也不会消失吗?
您应该使用MySqlDataReader
而不是SqlDataReader
MySqlDataReader Reader = cmd.ExecuteReader();
代码应该返回string
,而不是您的reader
。
返回第一项使用return reader.GetString(0);