asp.net 数据访问层 存储过程分页语句 所以最好在数据访层分页,如果这样就要使用存储过程来分页.以下是以pubs 数据库中的employee表为例来进行数据分页的存储过程,你可以参考它根据实际情况来创建自己的存储过程. 注:@pageindex 数据页的索引,@dataperpage 每页的记录数目,@howmanyrecords 用来获取总的记录数. 复制代码 代码如下: create proc getdata @pageindex int,@dataperpage int,@howmanyrecords int output as declare @temptable table ( rowindex int, emp_id char(9), fname varchar(20), minit char(1), lname varchar(30) ) insert into @temptable select row_number() over(order by emp_id) as rowindex,emp_id,fname,minit,lname from employee select @howmanyrecords=count(rowindex) from @temptable select * from @temptable where rowindex>(@pageindex-1)*@dataperpage and rowindex<=@pageindex*@dataperpage declare @howmanyrecords int exec getdata 2,5,@howmanyrecords output select @howmanyrecords declare @x int, @y int, @z int select @x = 1, @y = 2, @z=3 select @x,@y,@z create proc getdata2 @pageindex int,@dataperpage int,@howmanyrecords int output as declare @temptable table ( rowindex int, emp_id char(9), fname varchar(20), minit char(1), lname varchar(30) ) insert into @temptable select row_number() over(order by emp_id) as rowindex,emp_id,fname,minit,lname from employee select @howmanyrecords=count(rowindex) from @temptable select * from @temptable where rowindex>(@pageindex-1)*@dataperpage and rowindex<=@pageindex*@dataperpage 其中Row_number 函数可以给检索来的每条记录按照排序来编号. 接下来你就可以在asp.net 网页后台代码中调用该存储过程,就可以获取想要的数据.