C# 在visual studio中读取mysql数据库时出错

C# 在visual studio中读取mysql数据库时出错,c#,mysql,C#,Mysql,在下面的代码中,我尝试填充组合框 while (myReader.Read()) { string sName = myReader.GetString("profesor"); <--- here is the error cb_1najprof.Items.Add(sName); cb_2najprof.Items.Add(sName); cb_3najprof.Items.Add(sName); cb_1najsprof.Items.Add(sName); c

在下面的代码中,我尝试填充组合框

while (myReader.Read())
{
  string sName = myReader.GetString("profesor"); <--- here is the error
  cb_1najprof.Items.Add(sName);
  cb_2najprof.Items.Add(sName);
  cb_3najprof.Items.Add(sName);
  cb_1najsprof.Items.Add(sName);
  cb_2najsprof.Items.Add(sName);
  cb_3najsprof.Items.Add(sName);
}
while(myReader.Read())
{

string sName=myReader.GetString(“profesor”);
GetString
将整数作为参数,而不是字符串。您已使用
“profesor”
调用它。请尝试使用eg
1
调用它。此整数对应于您要读取的列。

这是因为无法将字符串传递给.GetString()方法必须传递一个int。int(从零开始)是要读取的列号

是的,我知道我的文档链接是针对SqlDataReader的,但同样的概念也适用于MySqlDataReader,您可以试试这个

string sName = myReader.GetString(myReader.GetOrdinal("profesor"));

另见相关问题

GetString需要一个整数(select语句中列的索引),而不是字段名
string sName = myReader["profesor"].ToString();