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

关于看了吴旗娃大哥分页存储过程的小疑问
我看是否获得记录的总行数是通过参数指定的,
也就是说,获取一个查询的总行数和获取这个查询的记录集是分两次完成的,
为什么要这样呢?总行数作为一个output直接返回不可以吗?

是不是因为存储过程不能同时即返回结果集又返回参数值啊?

请大家指点一下,这里小弟有些不明白,呵呵

------解决方案--------------------
这么说吧,存储过程能不能同时即返回记录集,又返回一个int值?
==================>
完全可以,使用output参数就可以了,之所以做成两次查询,是因为考虑到默认的PostBack分页方式会在第一次获得分页记录总数后下次分页将不再从数据库中取该值,而是从ViewState中获取,但获取分页数据的过程在每次分页时都会被调用,分成两个查询可以避免每次获取当前页的分页记录时再获取一次记录总数,如果数据很多的话,count一次是很费时间的,会严重影响分页效率,所以分成两部分