/**//**********************
****简易分页存储过程***
****author:knife*****
****data:08-05-07******
**********************/
create procedure listpagetext
(
@pagerows int, —每页行数
@pageindex int, —索引
@tab nvarchar(500), —表名
@keyid nvarchar(50), —主键
@total nvarchar(200), —条件
@sort nvarchar(50), —排序
@kid nvarchar(200), —列名
@rows int output —总页数
)
as
begin
set nocount on
declare
@befrows int,
@sql nvarchar(1000)
set @befrows=@pagerows*(@pageindex–1)
set @sql=”select top ”+cast(@pagerows as nvarchar(50))+” ”+@kid+” from ”+@tab+”
where ”+@total+” and ”+@keyid+” not in (select top ”+cast(@befrows as nvarchar(50))+”
”+@keyid+” from ”+@tab+” where ”+@total+” order by ”+@sort+” ) or本文来源gaodai#ma#com搞@@代~&码网der by ”+@sort+””
EXEC (@sql)
print @sql
——–总行数——
set @sql=N”select @rows=count(*) from ”+@tab+” where ”+@total+””
exec sp_executesql @sql,N”@rows int out”,@rows out
end
GO
——————————-测试——————————
declare @aa int
exec listpagetext 每页行数(例:10),页码(例:1),”表名(例:”table1”)”,”主键(例:”TID”)”,”条件(例:”1=1”)”,”排序(例:”TAddDate DESC”)”,”列名(例:”*”)”,@aa output
select @aa —–输出总行数
如有什么问题,可以留言!