--使用系统存储过程实现的通用分页存储过程-- 此过程原作者,应该是:邹健老前辈CREATE PROC sp_PageView @sql ntext, --要执行的sql语句@PageCurrent int=1, --要显示的页码@PageSize int=10, --每页的大小@PageCount int OUTPUT --总页数ASSET NOCOUNT ONDECLARE @p1 int--初始化分页游标EXEC sp_cursoropen @cursor=@p1 OUTPUT, @stmt=@sql, @scrollopt=1, @ccopt=1, @rowcount=@PageCount OUTPUT--计算总页数IF ISNULL(@PageSize,0)<1 SET @PageSize=10SET @PageCount=(@PageCount+@PageSize-1)/@PageSizeIF ISNULL(@PageCurrent,0)<1 OR ISNULL(@PageCurrent,0)>@PageCount SET @PageCurrent=1ELSE SET @PageCurrent=(@PageCurrent-1)*@PageSize+1--显示指定页的数据EXEC sp_cursorfetch @p1,16,@PageCurrent,@PageSize--关闭分页游标 EXEC sp_cursorclose @p1
declare @I intexecute SP_PageVIew 'SELECT * FROM Item',1,10,@I outputselect @I因为此分页过程返回三个数据集。通过: UniQuery1.OpenNext; 分别取出自己要的数据。