真分頁:確定要顯示的數量和內容,然後每次都去資料庫取出該少量資料,優點是資料量小,缺點是訪問資料庫頻繁。
假分頁:從資料庫中取出所有的資料,然後分頁在介面上顯示。訪問一次資料庫,但由於選擇的資料量比較大,所以第一次花費時間比較長,但之後每一頁的顯示都是直接、快速的,避免對資料庫的多次訪問。
下面是牛腩裡面真分頁的實現過程:
前端新增了aspnetpager控制項
<
webdiyer:aspnetpagerid=
"anp"
runat
="server"
showcustominfosection
="right"
urlpaging
="true"
onpagechanged
="anp_pagechanged"
pagesize
="5"
alwaysshow
="true"
cssclass
="paginator"
currentpagebuttonclass
="cpb"
pagingbuttonspacing
="0"
firstpagetext
="首頁"
numericbuttoncount
="5"
lastpagetext
="末頁"
nextpagetext
="下頁"
prevpagetext
="上頁"
custominfohtml
="目前是第%currentpageindex%頁 / 總共%pagecount%頁"
>
webdiyer:aspnetpager
>
儲存過程
alter
procedure
[dbo]
.[procpage]
@startpage
int,
@endpage
intas
begin
with temple as
(select row_number(
)over
(order
by id desc)as
row,
*from news)
select
*from temple where
rowbetween
@startpage
and@endpage
end
d層
///
/// 假分頁實現
///
/// 開始行數
/// 結束行數
/// 總記錄數
///
public datatable getpage
(int start,
int end,out int recordcount)
; recordcount =
(int
)sqlhelper.
executequery
("select count(*) from news"
, commandtype.text)
.rows[0]
[0];
return sqlhelper.
executequery
(sql, para, commandtype.storedprocedure)
;}
b層
///
/// 獲得頁面內容
///
/// 開始行數
/// 結束行數
/// 總記錄數
/// 返回查詢結果
public datatable getpage
(int start,
int end, out int recordcount)
u層
///
/// 繫結新聞列表
///
private
void
bindnews()
protected
void
anp_pagechanged
(object sender, eventargs e)
protected
void
page_load
(object sender, eventargs e)
}else
}
牛腩 分頁製作
牛腩中用到了分頁製作,本文就來介紹一下如何實現該功能。首先我們先了解一下真假分頁的區別 假分頁 從資料庫中取出所有的資料,然後分頁在介面上顯示。訪問一次資料庫,但由於選擇的資料量比較大,所以第一次花費時間比較長,但之後每一頁的顯示都是直接 快速的,避免對資料庫的多次訪問。通過上面的簡單介紹我們也可以...
真分頁和假分頁
假分頁 從資料庫一次性取出所有資料繫結到控制項上,再將所有資料根據每頁顯示記錄條數進行分頁。使用gridview控制項來達到分頁的功能 資料繫結 using system using system.collections.generic using system.linq using system....
Java分頁查詢(真分頁)
在開發過程中,我們經常會從資料庫中查詢資料,然後在客戶端顯示出來。當資料少時,可以在乙個頁面顯示。當我們查詢幾百條以上資料,直接顯示在乙個頁面上,不僅瀏覽不方便,查詢效率也會受到影響,這是,我們就可以使用分頁查詢來解決這個問題。分析上面這個頁面,想要實現分頁,我們在頁面中需要顯示的資料有 本頁的資料...