/*该存储过程用于显示注册用户的分页*/
CREATE PROCEDURE usp_PagedUserReg
@iPageint,
@iPageSizeint
AS
Begin
--关闭自动计数器功能
SET NOCOUNT ON
--declare variables
declare@iStart int-- start record
declare@iEnd int-- endrecord
declare@iPageCount int-- total number of pages
--create the temporary table 建临时表
Create Table #PagedUserReg
(
idintidentity,
UserIDint(4),
Nickchar(20),
Truenamechar(10),
emailchar(100),
departmentchar(50),
zhuanyechar(50),
mnianjichar(50),
sexchar(10),
birthdaydatetime,
pwdchar(20),
roomchar(10),
telphonchar(50),
qustionchar(100),
answerchar(50),
imagepathchar(100)
)
-- populate the temp table 加入数据
insert into #PagedUserReg (Userid,Nick,Truename,email,department,
zhuanye,mnianji,sex,birthday,pwd,room,telphon,qustion,answer,
imagepath)
selectUserid,Nick,Truename,email,department,
zhuanye,mnianji,sex,birthday,pwd,room,telphon,qustion,answer,
imagepath
From RegUser
-- work out how many pages there are in total计算总页数
select @ipageCount=Count(*)
from RegUser
select @ipageCount = Ceiling(@iPageCount / @iPageSize)+1
-- Check the Page number
if @iPage <1
select @ipage=1
if @iPage>@ipageCount
select @ipage = @ipageCount
-- calculate the start and end records
select @iStart = (@iPage-1) * @iPageSize
select @iEnd = @istart + @ipageSize + 1
-- select only those records that fall within our page
select * From #PagedUserReg
where ID > @iStart
and ID < @iEnd
Drop Table #PagedUserReg
-- turn back on record counts
set nocount off
-- return the number of records left
Return @iPageCount
end
……