我试图获取数据库中某些字段的值。 我试过了:
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
任何人都可以帮助我吗? 谢谢
答案 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());
}