数据库分页
CREATE PROCEDURE dbo.log_login_get ----名称自定:)
@page int, --当前页
@page_size int --每页数量
AS
declare @intBeginID int
declare @intEndID int
declare @intMaxCount int --分页记录总数
declare @intPageCount int --
declare @intRowCount int
declare @intMaxPage int --总页数
set nocount on
select @intMaxCount=count(*) from log_login --改成你要分页的源表
if(@intMaxCount=0)
return 0
set @intMaxPage=Round((@intMaxCount/@page_size),0)
if(@page-1>@intMaxPage)
select @page=@intMaxPage+1
if(@page<1)
select @page=1
set @intRowCount=(@page-1)*@page_size+1 --计算第一条的位置
--print @intRowCount
set rowcount @intRowCount ---这是关键,定义一个行跨度,即将指针移动到第一条的地方
select @intBeginId=id from log_login order by id desc
--print @intBeginId
select @intRowCount=@page*@page_size --计算最后一条的位置
--print @intRowCount
set rowcount @intRowCount
select @intEndId=id from log_login order by id desc
--print @intEndId
set rowcount 0
set nocount off
select * from log_login where id between @intEndId and @intBeginId order by id desc
GO
@page int, --当前页
@page_size int --每页数量
AS
declare @intBeginID int
declare @intEndID int
declare @intMaxCount int --分页记录总数
declare @intPageCount int --
declare @intRowCount int
declare @intMaxPage int --总页数
set nocount on
select @intMaxCount=count(*) from log_login --改成你要分页的源表
if(@intMaxCount=0)
return 0
set @intMaxPage=Round((@intMaxCount/@page_size),0)
if(@page-1>@intMaxPage)
select @page=@intMaxPage+1
if(@page<1)
select @page=1
set @intRowCount=(@page-1)*@page_size+1 --计算第一条的位置
--print @intRowCount
set rowcount @intRowCount ---这是关键,定义一个行跨度,即将指针移动到第一条的地方
select @intBeginId=id from log_login order by id desc
--print @intBeginId
select @intRowCount=@page*@page_size --计算最后一条的位置
--print @intRowCount
set rowcount @intRowCount
select @intEndId=id from log_login order by id desc
--print @intEndId
set rowcount 0
set nocount off
select * from log_login where id between @intEndId and @intBeginId order by id desc
GO
浙公网安备 33010602011771号