使用存储过程实现数据分页

Posted on 2006-10-25 22:47  海滨  阅读(260)  评论(0编辑  收藏  举报
在.NET中虽然GridView,DataGrid,等控件都提供了分页功能,但当数据表中的数据容量过大时使用此种方式分页显然不适宜,过多的数据会使页面变得十分庞大,导致性能的下降,为此我们可以使用存储过程在SQL Server数据库中实现分页,每次返回一定行数的数据,不至于影响到页面因数据过大而变得庞大,实现思路如下

数据表里面是否有主键和索引对性能的影响相当大
/*第一个参数是每页条数,第二个参数是目标页码*/

CREATE proc sp_fixpage @pagesize int,@destpage int  as
set nocount on
declare @id int
declare @startid int  

select @startid = (@destpage - 1)*@pagesize

set rowcount @startid
select @id = id from t_member

set rowcount @pagesize
set nocount off
select * from t_member where id > @id order by id
GO

Copyright © 2024 海滨
Powered by .NET 8.0 on Kubernetes