sqldatareader错误
我想检查 sqldatareader 是否为空。因此尝试了以下代码:
if (x[k]!= DBNull.Value)
{
box.Text = Convert.ToString(x[k++]);
if ((box.Text) != "")
current[j - 1] = Convert.ToDouble(box.Text);
else current[j - 1] = 0;
box.Enabled = false;
}
但是,在尝试检查数据读取器中的值时,它会抛出错误,“当不存在数据时,读取数据的尝试无效”。我还应该如何检查数据是否存在。!!请帮忙。这里 x 是一个 sqldatareader SqlDataReader x = cmd.ExecuteReader(); cmd 是一个选择命令..
I want to check if the sqldatareader is null or not. So tried the following code:
if (x[k]!= DBNull.Value)
{
box.Text = Convert.ToString(x[k++]);
if ((box.Text) != "")
current[j - 1] = Convert.ToDouble(box.Text);
else current[j - 1] = 0;
box.Enabled = false;
}
However while trying to check the value within the datareader, it throws an error,"invalid attempt to read data when no data is present". How else should i check to see if data is there or not.!! please help. here x is an sqldatareader
SqlDataReader x = cmd.ExecuteReader();
and cmd is a select commnand..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
SqlDataReader.HasRows
- 如果至少存在一行数据,则为 true,或者您可以使用SqlDataReader.Read()
读取所有结果;所以对于你的例子:
You can use
SqlDataReader.HasRows
- it is true if at least one row of data is present, alternatively you can read through all results usingSqlDataReader.Read()
;So for your example:
您可以在访问 DataRows 之前执行 null 检查和 Has Row。
像这样
You can do a null check and Has Row before accessing the DataRows.
like this