HasRows属性 msdn里定义是:取一个值,指示SqlDataReader是否包含一行或多行我做了一个查询语句,查询条件是数据库中的一条存在的记录按理说,if (com.HasRows)返回的值是true,就不会执行else的命令了,可事实确是相反用com.Read()确没有这样的问题
哪位能指示下
哪位能指示下
解决方案 »
- 一个很简单的问题,但是有点迷糊,希望快速有答案
- 求Double[]平均值
- .net 中sql server2005分页写法的疑问
- 我不想用gridview控件,想自定义表格输出,请问怎么办???
- 请教高手,关于文件上传的问题?
- 如何将表单提交到另一张网页??
- 一个关于webform下用treeview的问题
- DllImport调用问题,求大神帮忙看看。。菜鸟求助!!
- 谁有Microsoft SQL Server 2000 Reporting Services,给我传一个
- 求救!!!
- 100 分!! 在vs2005 下应用 webdiyer 的分页控件,不用存储过程,只是 sql 语句方法,为什么分页后数据不连续,请看...
- DetailsView中,如何将显示和编辑界面变成多列。
datareader.read();
if(datareader.HasRows)
..
else
..Read:
while(datareader.read())
{
}
datareader.read()为从数据开头往后读,如果库中已读到结尾了(可能没有记录)则返回false,如果用在if中,则会自动读出一条,else里则不必再用read(),如果有while(含有read()条件),则自动从第二条开始往下读
结论:单条可用read()检测,多条用到while时用HasRows检测...结贴吧
{
string SQL=“”;
oledbcommand Cmd=new Cmd(SQL,ConnString);
oledbdatareader Dr=Cmd.executereader();
}
如果我用if (Dr.Read())去判断是否返回记录,然后读取的话,总是少了1条记录的,怎么回事呢?!
想请教的问题是,究竟DataReader.Read()方法最初所指向的是哪条记录呢?(0还是-1 ?)
谢谢!