从数据库sql获取值

时间:2014-05-08 19:27:28

标签: sql database visual-studio-2012

我试图获取数据库中某些字段的值。 我试过了:

 pr.command.CommandText = string.Format("select amount from storage where code =12");
            SqlDataReader read = pr.command.ExecuteReader();
            int currAmount = int.Parse(read["amount"].ToString());

但它没有工作,错误是:非法尝试在没有数据时调用。 但是有一个记录,字段代码= 12

任何人都可以帮助我吗? 谢谢

2 个答案:

答案 0 :(得分:1)

您需要在开头转到第一条记录并检查是否有一条

if(read.Read())  {
   int currAmount = int.Parse(read["amount"].ToString());
   ....
}

答案 1 :(得分:1)

在您目前的情况下,数据库中有数据,但读者尚未阅读。您必须先调用Read()才能从数据库中读取一行:

pr.command.CommandText = string.Format("select amount from storage where code =12");

SqlDataReader read = pr.command.ExecuteReader();

while (read.Read())
{
    int currAmount = int.Parse(read["amount"].ToString());
}