今天是:
设百科问答网为首页|收藏百科问答网|网站地图
百科问答网 - 帮您解决问题,分享成功经验
百科问答网  » 电脑/数码/通讯/互联网 » 编程/开发  » 正文
怎么获得SqlDataReader取得的记录行数

执行的是select的操作。

我写一个方法,用

int i = 0;
while (dr.Read())
i += 1;

这样的方法取得个数后,dr似乎将指针移到了最后一条记录之后,无法再用这个dr做别的事情,我觉得很奇怪的事情是,设一个中间变量reader1去做上面的计数,也会使我要使用的reader无法正常工作。

请问有什么方法再把dr的指针移回到第一条记录去。

或者有什么方法更快的取得这个dr的记录数更好了。




答案或建议:


SqlDataReader 是单向只读的  ,不能回到第一条记录 。

你只能判断有没有数据,不能直接得到行数 。

如果必须 ,可用 select count(*) 找数据库直接取。

SqlDataReader 未关闭前 会占用连接,读出数据后马上关闭。

看你的意图 应该使用dataset  。

--
由于SqlDataReader类的实例是一次读取一条记录,所以没有提供用来获取行数的属性,一旦读取完毕dr的指针就不能一会第一条记录了,SqlDataReader没有提供相应的方法。


链接地址:http://www.baikewenda.com/h/1105/a33095.html
推荐内容

敬请注意:百科问答网内容来源于网络或民间经验收集,仅供参考。其中有关健康疾病方面的内容请务必咨询专业医生或及时到医院治疗。
关于我们 - 广告服务 - 联系我们
百科问答网 Copyright ©2005 - 2011 www.baikewenda.com,All Rights Reserved
辽ICP备10007180号