sql 2005版本以上..
/******************************************************************
**檔案名: P_PageData
**Copyright(c)
**創建人:
**創建日期:
**修改人:
**最後修改日期:
**修改原因:
**描述: 分頁取得dataset數據
**輸入: 查尋的sql語句,當前頁,每頁行數
**輸出:
記錄集1 (空sql結果集的結構),
記錄集2 (總條數Total,總頁數PageCount,當前頁CurPage),
記錄集3 (sql查詢返回的內容)
******************************************************************/
create PROCEDURE [dbo].[P_PageData]
@sqlstr nvarchar(3500), --SQL字串
@curpage int, --第N頁
@pagesize int --每頁行數
AS
begin
set nocount on
declare @P1 int, --P1是遊標的id
@rowcount int, @pagecount int
SET @sqlstr = RTRIM(@sqlstr)
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
set @pagecount = ceiling(1.0*@rowcount/@pagesize)
if @curpage<=1
set @curpage =1
if @curpage>@pagecount
set @curpage=@pagecount
select @rowcount as Total, @pagecount as PageCount,@curpage as CurPage
set @curpage=(@curpage-1)*@pagesize+1
exec sp_cursorfetch @P1,16,@curpage,@pagesize
exec sp_cursorclose @P1
end
sql 通用分页存储过程
猜你喜欢
转载自blog.csdn.net/wlzwcr/article/details/6517797
今日推荐
周排行