我想从datareader获取值,但是有一个名为
的错误"No data exists for the row/column".
这是我的代码
//select the group where status is active
OleDbCommand com2 = new OleDbCommand("select group from tblBillConfig where status=1 group by group",con);
OleDbDataReader dr2 = com2.ExecuteReader();
//int i = Convert.ToInt32(dr2);
string ii = dr2["group"].ToString();
MessageBox.Show(ii);
请有人可以帮忙吗?
答案 0 :(得分:0)
如果您的查询没有返回任何记录,那么您将收到该消息 您需要检查是否有返回的行,然后尝试阅读它们....
顺便说一句,我很确定GROUP这个词是一个保留的关键词fow everyt SQL数据库系统。要使用它,你应该把它放在方形的方块中(但对于每个数据库系统都可能不同)
OleDbCommand com2 = new OleDbCommand("select [group] from tblBillConfig " +
"where status=1 group by [group]",con);
OleDbDataReader dr2 = com2.ExecuteReader();
// This will load the first row, so you could get its value
if(dr2.Read())
{
string ii = dr2["group"].ToString();
MessageBox.Show(ii);
}
else
{
MessageBox.Show("Query doesn't return any rows");
}