@PageSize int = 100, -- 每頁顯示記錄條數(shù),默認(rèn)為100 @PageIndex int = 1, -- 當(dāng)前提取要顯示的頁碼,默認(rèn)為1,數(shù)據(jù)庫(kù)根據(jù)PageSize,PageIndex 計(jì)算返回一頁數(shù)據(jù)
@RetTotal int output, -- 記錄總數(shù) @RetCount int output, -- 返回記錄數(shù) @RetPageIndex int output, -- 輸出當(dāng)前頁碼 @ReturnDesc varchar(128) output -- 返回操作結(jié)果描述 as begin
set nocount on set xact_abort on
set @RetTotal = 0 set @RetCount = 0 set @RetPageIndex = @PageIndex
-- 多條件取值 declare @Err int -- 錯(cuò)誤 declare @PageCount int -- 總頁數(shù) declare @BeginRID int -- 開始行 Rid declare @MaxRow int -- 最后行
select @RetTotal = count(*) from NationTask
select @Err = @@ERROR
if @Err <> 0 begin set @ReturnDesc = '提取國(guó)家任務(wù)總數(shù)失?。? return -1 end
-- 如果無數(shù)據(jù), 則返回空結(jié)果集 if @RetTotal = 0 begin set @ReturnDesc = '當(dāng)前條件無國(guó)家任務(wù)記錄!' return 1 end
-- 計(jì)算總頁數(shù) set @PageCount = @RetTotal / @PageSize
if @RetTotal % @PageSize > 0 begin set @PageCount = @PageCount + 1 end
-- 超過總頁數(shù),則返回空結(jié)果集 if @PageIndex > @PageCount begin set @ReturnDesc = '當(dāng)前條件無國(guó)家任務(wù)記錄!' return 1 end