MySqlCommand().ExecuteReader().GetString()不起作用

The*_*ask -1 c# mysql

我正在用C#语言处理MySql.我正在尝试从我的数据库中获取一些数据.这些字段组织如下:

foo baa 
38737 22222 
Run Code Online (Sandbox Code Playgroud)

我需要获得值,foo如果我的哈希等于baa 我试过这个:我的代码(不工作)

 MySqlConnection con = new MySqlConnection("Server=localhost;Database=test;Uid=user;Pwd=pass;");
 con.Open();
 MySqlCommand cmd = new MySqlCommand();
 cmd.CommandText = string.Format("SELECT * FROM info WHERE baa = '{0}'", Hash); ;
 cmd.Connection = con;
 MySqlDataReader reader = cmd.ExecuteReader();
String res = reader.GetString(0); 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Invalid attempt to access a field before calling Read() 
Run Code Online (Sandbox Code Playgroud)

有人可以指出我的错误吗?提前致谢.

Bro*_*ass 11

你错过了一个reader.Read()电话:

 MySqlDataReader reader = cmd.ExecuteReader();
 while(reader.Read())
 {
     String res = reader.GetString(0); 
     //...
 }
Run Code Online (Sandbox Code Playgroud)