uniquery 配合 mssql 自带存储过程实现分页

--使用系统存储过程实现的通用分页存储过程

-- 此过程原作者,应该是:邹健老前辈

CREATE PROC sp_PageView   

@sql         ntext,     --要执行的sql语句

@PageCurrent int=1,     --要显示的页码

@PageSize    int=10,    --每页的大小

@PageCount   int OUTPUT --总页数

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

 

declare @I int

execute SP_PageVIew 'SELECT * FROM Item',1,10,@I output

select @I







因为此分页过程返回三个数据集。

通过:

  UniQuery1.OpenNext;  分别取出自己要的数据。

  

你可能感兴趣的:(unique)