C#ASP.NET简单选择问题

时间:2011-06-01 18:42:48

标签: c# mysql select

我遇到的问题是使用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();

2 个答案:

答案 0 :(得分:2)

在访问结果之前,您必须先调用reader.Read()。 在您这样做之前,读者'光标'将放在第一个元素之前。将光标放在第一个元素之前将使行为保持一致,即使结果集为空。

答案 1 :(得分:0)

您需要至少致电reader.Read()一次。像普通的SqlDataReader一样,模式如下:

while(reader.Read())
{
    .. Do Stuff
}

while(sqlDataReader.MoveNext())
{
   .. Do Stuff
}