------用Sql存储过程实现数据的分页显示-------------------------------------------------------
--n 显示第几页的数据
--m 每页显示多少条数据
--显示第n页数据的公式是:(n-1)*m
--pubs 数据库 authors 表
if exists(select * from sysobjects where name='PagingSelect' and type='p')
drop procedure PagingSelect
go
--------------------------------------------------------------------------------
create procedure PagingSelect
@n int,--显示第几页的数据
@m int=3--每页显示多少条数据
as
begin
declare @paging int
----定义变量接收传入的参数-----
declare @nn int
declare @mm int
set @nn=@n --接收传入的参数
set @mm=@m --接收传入的参数
------------------------------
set @paging=(@nn-1)*@mm --计算公式
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
declare @strSql varchar(500) --定义变量
set @strSql='select top ' + convert(varchar(10),@mm) + ' * from authors
where au_id
not in(select top ' + convert(varchar(10),@paging) + ' au_id from authors order by au_id)
order by au_id' --给@strSql赋值(分页查询语句)
exec(@strSql) --执行sql语句
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end
-------调用PagingSelect存储过程 第一个参数含义:所要显示的是第几页 第二个参数的含义:每页显示的数据量-------------------------------------------
exec PagingSelect 2,13
------------------------------------------------------------------------------------------------------------------------------------------