???? ?最近給客戶做了個查看通話記錄的小功能,不論是查詢還是顯示都很快的完成了。唯一的問題就是因為數據記錄太多[上萬條,且每天都已幾十近百條的速度增長],顯示速度太慢。我用的是VS2005 GridView自帶的分頁功能,顯然數據太多GridView自身的分頁功能已經不在適用。本來想用存儲過程,但感覺太麻煩。在網上淘了半天,終于淘了個非常好的利用SQLServer2005自帶的Row_Number()函數做的SQL語句分頁的方法。閑話少說,看代碼:
?1
declare
?
@pageIndex
?
int
?2
declare
?
@pageSize
??
int
?3
set
?
@pageIndex
=
1
?4
set
?
@pageSize
=
26
?5
?6
SELECT
?
*
?
FROM
?(
SELECT
?ROW_NUMBER()?
OVER
(
ORDER
?
BY
?id?
DESC
)?
AS
?rownum,
?7
id,?callerno,?calleeno,?uid,?callbegin,callend,bs
?8
FROM
?
[
222.43.48.95
]
.lyzj.dbo.billlog?
where
?uid
=
'
007
'
)?
AS
?D
?9
WHERE
?rownum?
BETWEEN
?(
@pageIndex
-
1
)
*
@pageSize
+
1
?
AND
?
@pageIndex
*
@pageSize
10
ORDER
?
BY
?id?
DESC
??????? 上面就是分頁的SQL語句,但是實際使用的時候,問題又出現了。我用的是ASPNETPager分頁控件,查看的時候,第一頁的數據總是無法顯示;調試了半天才找出原因。原來是早先用GridView自身的分頁時,分頁的索引是從0開始的,而現在的分頁卻是從1 開始。兩者攪在一起,不出問題都怪了,呵呵,搞定!

?2

?3

?4

?5

?6

?7

?8

?9

10

更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
