日期:2014-05-18  浏览次数:20475 次

分页显示的时候怎么得到记录的总条数?
例如我的SQL命令是select Name,ID from table1 where Name like '王%'
查询的结果我返回一个数据集ds里表名为"a"
用aspnetpager分页显示
为什么我用用这个ds.tables["a"].rows.count得到的总是20,我知道select count(*) from (select Name,ID from table1 where Name like '王%')能查到记录数,这样我觉得不好,有没有其他的方法啊

------解决方案--------------------
你先用SQL语句查一下你得到的记录是多少?
用rows.count得到的数目应当与你用SQL返回的数目相同。
------解决方案--------------------
DataTable 得到的是你SQL语句直接查出来的数据集
如果 dt.Rows.Count==20,那么, 你SQL语句查来的就是20条记录

与你的aspnetpager控件无关, 数据层与界面层不相干
------解决方案--------------------
恩,应该没错
------解决方案--------------------
冒泡帮顶接分

用aspnetpager的目的之一就是分批次从数据库中读出数据,所以总数目似乎还得单独取得的,可以节约内存。否则就可以不用这个控件而只用内置控件了,像楼主ds.tables["a"].rows.count得到的只是一页内的数目。

------解决方案--------------------
一般会单独再用一个存储过程返回总记录数