实现分页的方式
2008-04-26 09:47
381 查看
2000:
首先获得所有的记录集合的存储过程:
create PROCEDURE[dbo].[P_GetOrderNumber]
AS
selectcount(orderid)fromorders;----orders为表
RETURN
分页的存储过程
create procedure[dbo].[P_GetPagedOrders2000]
(@startIndexint, ---开始页数
@pageSizeint----每一页显示的数目
)
as
setnocounton
declare@indextabletable(idintidentity(1,1),nidint) ----定义一个表变量
declare@PageUpperBoundint
set@PageUpperBound=@startIndex+@pagesize-1
setrowcount@PageUpperBound
insertinto@indextable(nid)selectorderidfromordersorderbyorderiddesc
selectO.orderid,O.orderdate,O.customerid,C.CompanyName,E.FirstName+''+E.LastNameasEmployeeName
fromordersO
leftouterjoinCustomersC
onO.CustomerID=C.CustomerID
leftouterjoinEmployeesE
onO.EmployeeID=E.EmployeeID
innerjoin@indextableton
O.orderid=t.nid
wheret.idbetween@startIndexand@PageUpperBoundorderbyt.id ----实现分页的关键
setnocountoff
2005:
create [dbo].[P_GetPagedOrders2005]
(@startIndexINT,
@pageSizeINT
)
AS
begin
WITHorderListAS(
SELECTROW_NUMBER()OVER(ORDERBYO.orderidDESC)ASRow,O.orderid,O.orderdate,O.customerid,C.CompanyName,E.FirstName+''+E.LastNameasEmployeeName
fromordersO
leftouterjoinCustomersC
onO.CustomerID=C.CustomerID
leftouterjoinEmployeesE
onO.EmployeeID=E.EmployeeID)
SELECTorderid,orderdate,customerid,companyName,employeeName
FROMorderlist
WHERERowbetween@startIndexand@startIndex+@pageSize-1
end
首先获得所有的记录集合的存储过程:
create PROCEDURE[dbo].[P_GetOrderNumber]
AS
selectcount(orderid)fromorders;----orders为表
RETURN
分页的存储过程
create procedure[dbo].[P_GetPagedOrders2000]
(@startIndexint, ---开始页数
@pageSizeint----每一页显示的数目
)
as
setnocounton
declare@indextabletable(idintidentity(1,1),nidint) ----定义一个表变量
declare@PageUpperBoundint
set@PageUpperBound=@startIndex+@pagesize-1
setrowcount@PageUpperBound
insertinto@indextable(nid)selectorderidfromordersorderbyorderiddesc
selectO.orderid,O.orderdate,O.customerid,C.CompanyName,E.FirstName+''+E.LastNameasEmployeeName
fromordersO
leftouterjoinCustomersC
onO.CustomerID=C.CustomerID
leftouterjoinEmployeesE
onO.EmployeeID=E.EmployeeID
innerjoin@indextableton
O.orderid=t.nid
wheret.idbetween@startIndexand@PageUpperBoundorderbyt.id ----实现分页的关键
setnocountoff
2005:
create [dbo].[P_GetPagedOrders2005]
(@startIndexINT,
@pageSizeINT
)
AS
begin
WITHorderListAS(
SELECTROW_NUMBER()OVER(ORDERBYO.orderidDESC)ASRow,O.orderid,O.orderdate,O.customerid,C.CompanyName,E.FirstName+''+E.LastNameasEmployeeName
fromordersO
leftouterjoinCustomersC
onO.CustomerID=C.CustomerID
leftouterjoinEmployeesE
onO.EmployeeID=E.EmployeeID)
SELECTorderid,orderdate,customerid,companyName,employeeName
FROMorderlist
WHERERowbetween@startIndexand@startIndex+@pageSize-1
end
相关文章推荐
- 三种分页的实现方式
- 常见的分页实现方式(Java)
- esayui datagrid 前端分页的实现方式
- Oracle分页的实现方式
- Android Tab 分页标签的实现方式
- PageBean方式实现分页效果 泽0715
- SQL2005利用ROW_NUMER实现分页的两种常用方式
- DataGridView分页功能的实现<纯手动方式>
- mysql实现分页的几种方式
- php实现分页选择按钮的三种方式
- NHibernate+spring.net+jquery打造UI控件库(mvc+webform两种实现) usercontrol,jtemplate两种方式打造无刷新分页(附NHbernate+Spring.net源码)
- 四种方式实现SQLServer 分页查询
- Ajax方式分页加载列表实现
- 实现滑动分页(微博分页方式)
- 四种方式实现SQLServer 分页查询
- mysql和oracle分页实现方式
- 分页实现方式
- [置顶] SSH hibernate 分页的几种实现方式
- scrollviews page分页实现方式
- iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。