dev*_*van 2 c# sql asp.net sqldatareader
我的代码:
string sqlQuery1 = "select * from employees where depid=6";
SqlDataReader Dr1 = dbconn.RunQueryReturnDataReader(sqlQuery1);
if(Dr1.read()) { //or if (Dr1["empname"] != DBNull.Value)
while (Dr1.Read())
{
Label1.Text = Dr1["empname"].ToString();
Label2.Text = Dr1["empdes"].ToString();
...
}
Dr1.Close();
}
else {
Label1.text = "defaultValue";
Label2.text = "defaultValue";
...
}
Run Code Online (Sandbox Code Playgroud)
我只想检查SqlDataReader没有要显示的记录.如果没有记录,标签应该显示由我预先指定的默认值或者如果在标签上有记录显示datareader值.(假设SqlDataReader有1个重新编码或只有norecord)
如何查看第一个datareader hasRow与否?
我已经尝试了两种方法,如上面的代码.
if(Dr1.read()) - 这种方式工作正常.但是在执行If语句之后,它没有值显示在标签上,因为read()会增加指针.结果label1,Label2 ..没什么显示.
if (Dr1["empname"] != DBNull.Value)
这种方式在Sqldatareader有norows时会产生异常.
error: System.InvalidOperationException: Invalid attempt to read when no data is present
请帮我.TX
| 归档时间: |
|
| 查看次数: |
21999 次 |
| 最近记录: |