您的位置:首页 > 数据库

SQL分页存储过程和C#中linq分页查询方法

2018-01-09 09:26 666 查看
SQL分页存储过程

第一种方法:

[sql] view plain copy

if exists(select * from sysobjects where name='usp_BookPage')  
drop procedure usp_BookPage  
go  
create procedure usp_BookPage  
@PageSize int,--每页显示多少  
@CurrentPage int--当前第多少页  
as  
--查询当前分页的数据  
select Top (@PageSize)BookId, BookName, BarCode, Author, PublisherId, PublishDate, BookCategory, UnitPrice, BookImage, BookCount, Remainder, BookPosition, RegTime  
from Books   
where BookId not in (select Top (@PageSize *(@CurrentPage -1)) BookId   
from Books order by RegTime asc )  
order by RegTime asc  
go  

第二种方法

[sql] view plain copy

if exists(select * from sysobjects where name='usp_BookPage')  
drop procedure usp_BookPage  
go  
create procedure usp_BookPage  
@PageSize int ,--每页显示多少页  
@CurrentPage int --当前第多少页  
as  
--查询分页  
select top (@PageSize) * from  
(select ROW_NUMBER() over (order by bookid) as rownumber,*  
from Books)A where rownumber >(@CurrentPage -1)*@PageSize   
go  

c#中linq分页查询

[csharp] view plain copy

#region 数据分页  
int page = 0;  
if (Request.Form["page"]!=null && Request .Form["page"].Length >0)  
{  
    page = Convert.ToInt32(Request.Form["page"]);  
}  
int pagesize = 10;  
if (Request .Form["pageSize"]!=null && Request .Form["pageSize"].Length >0)  
{  
    pagesize = Convert.ToInt32(Request.Form["pageSize"]);  
}  
#endregion  
list_New = list_New.OrderBy(u => u.UserId).Skip((page - 1) * pagesize).Take(pagesize).ToList();  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: