--使用系统存储过程实现的通用分页存储过程(转自邹建) CREATE PROC [dbo].[GetPageData] @sql ntext, --要执行的sql语句 @PageCurrent int=1, --要显示的页码 @PageSize int=10, --每页的大小 @PageCount int OUTPUT, --总页数 @sqlCountText nvarchar(4000) AS SET NOCOUNT ON DECLARE @p1 int --初始化分页游标 EXEC sp_cursoropen @cursor=@p1 OUTPUT, @stmt=@sql, @scrollopt=1, @ccopt=1, @rowcount=@PageCount OUTPUT --计算总页数 IF ISNULL(@PageSize,0)<1 SET @PageSize=10 SET @PageCount=(@PageCount+@PageSize-1)/@PageSize IF ISNULL(@PageCurrent,0)<1 OR ISNULL(@PageCurrent,0)>@PageCount SET @PageCurrent=1 ELSE SET @PageCurrent=(@PageCurrent-1)*@PageSize+1 --显示指定页的数据 EXEC sp_cursorfetch @p1,16,@PageCurrent,@PageSize --关闭分页游标 EXEC sp_cursorclose @p1 Exec (@sqlCountText)
使用系统存储过程实现的通用 分页存储过程 (转自邹建),布布扣,bubuko.com
原文地址:http://www.cnblogs.com/PeaCode/p/3836951.html