程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET數據列表控件的分頁總結(二)使用存儲過程分頁

ASP.NET數據列表控件的分頁總結(二)使用存儲過程分頁

編輯:關於ASP.NET

當數據庫的數據量比較大,對執行效率要求比較高的時候,我們可以考慮使用存儲過程來實現分頁,根據傳入的頁數返回需要顯示的數據表,僅僅select出當前頁的數據。(這個比使用PagedDataSource類而言效率要高。)

現在采用Repeater來實現一個數據分頁,數據庫采用SQL server2000,利用裡面的系統表Northwind。

新建存儲過程如下:

create PROCEDURE dbo.myPaging
(
@pagesize int,
@currentPage int,
@total int output
)
AS
create table #temp
(
 ID int identity(1,1),
 CustomerID varchar(50),
 CompanyName varchar(50),
 ContactName varchar(50),
 ContactTitle varchar(50),
 Phone varchar(50)
)
insert into #temp(CustomerID,CompanyName,ContactName,ContactTitle,Phone)
select CustomerID,CompanyName,ContactName,ContactTitle,Phone
from Customers
select @total=(select count(*) from Customers)
declare @startID int
declare @endID int
set @startID=(@currentpage-1)*@pagesize+1
set @endID=@currentpage*@pagesize
select * from #temp where ID>=@startID and ID<=@endID
GO

若不會寫存儲過程的話,可以參照網站在線生成分頁的存儲過程:http://www.webdiyer.com/AspNetPager/utility/sqlspgen.aspx

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved