数据库分页存储过程

发表于:2007-07-02来源:作者:点击数: 标签:
/* 数据库分页存储过程---equn .net 参数说明: ?tablename为搜索表名 ?where为搜索表名,要显示所有记录请设为"1=1" ?orderby为搜索结果排序,如order by id desc ?curpage当前页码 ?page_record每页记录条数 结果: ?返回表tablename中满足条件where的第cur
/*
数据库分页存储过程---equn.net
参数说明:
?tablename为搜索表名
?where为搜索表名,要显示所有记录请设为"1=1"
?orderby为搜索结果排序,如order by id desc
?curpage当前页码
?page_record每页记录条数
结果:
?返回表tablename中满足条件where的第curpage页的page_record条记录,结果按orderby排序
*/
CREATE PROCEDURE Xp_Page(@tablename varchar(50),@where varchar(100),@orderby varchar(100),@curpage int,@page_record int)
?AS
begin
?declare @cmd varchar(500)
?declare @uprecord int
?set @uprecord=@curpage * @page_record
?set @cmd=@#select top @#+cast(@page_record as char)+@# * from @#+@tablename+@# where @#+@where+@# and id not in (select top @#+cast(@uprecord as char)+@# id from @#+@tablename+@# where @#+@where+@# @#+@orderby +@#) @#+@orderby
?exec(@cmd)
end
GO

原文转自:http://www.ltesting.net