我遇到的问题是使用c#从mysql获取值。连接字符串是正确的,但它会引发以下错误:在调用Read()之前无效尝试访问字段
任何人都可以告诉我下面代码中出现的问题
string strConnection = ConfigurationSettings.AppSettings["ConnectionString"];
MySqlConnection connection = new MySqlConnection(strConnection);
MySqlCommand command = connection.CreateCommand();
MySqlDataReader reader;
command.CommandText = "SELECT application_domain_name FROM `test`.`application_domains` WHERE idapplication_domains = " + reference;
connection.Open();
reader = command.ExecuteReader();
lblApplicationDomain.Text = reader.GetString(0);
connection.Close();
答案 0 :(得分:2)
在访问结果之前,您必须先调用reader.Read()。 在您这样做之前,读者'光标'将放在第一个元素之前。将光标放在第一个元素之前将使行为保持一致,即使结果集为空。
答案 1 :(得分:0)
您需要至少致电reader.Read()
一次。像普通的SqlDataReader一样,模式如下:
while(reader.Read())
{
.. Do Stuff
}
while(sqlDataReader.MoveNext())
{
.. Do Stuff
}