首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 數據列表分頁總結(二):預存程序分頁實作(SQL Server 2000)

     編輯:關於ASP.NET

大數據量、高效能場景下,預存程序分頁僅撈取當頁資料,效能遠優於全表撈回再篩選。

預存程序 myPaging

CREATE PROCEDURE dbo.myPaging
    @pagesize INT, @currentPage INT, @total INT OUTPUT
AS
BEGIN
    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 SELECT CustomerID,CompanyName,ContactName,ContactTitle,Phone FROM Customers;
    SELECT @total = (SELECT COUNT(*) FROM Customers);
    DECLARE @startID INT, @endID INT;
    SET @startID = (@currentPage-1)*@pagesize + 1;
    SET @endID = @currentPage*@pagesize;
    SELECT * FROM #temp WHERE ID BETWEEN @startID AND @endID;
END

輔助工具

不熟悉寫分頁 SP 可用線上產生器:https://www.webdiyer.com/AspNetPager/utility/sqlspgen.aspx

前端繫結

使用 Repeater + SqlDataAdapter 執行 SP,取回 @total 設定分頁控制項記錄總數,PageChanged 事件重新執行 SP 取得新頁資料。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved