狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統之家 > 技術開發教程 > 詳細頁面

在ASP中改善動態分頁的性能

在ASP中改善動態分頁的性能

更新時間:2024-04-11 文章作者:未知 信息來源:網絡 閱讀次數:

原作:張立鋒 張 禾

概 述  
現在有不少介紹利用ASP實現動態分頁的文章,方法大同小異,就是每次利用ADO返回原始數據滿足條件記錄集中的指定頁。但在實際工程應用中,原始數據量通常很大,原始數據的加工比較慢,如果每次換頁原始數據都要加工一次,則會嚴重影響應用程序運行的性能。  
解決上述問題主要有兩種途徑:一種途徑是將查詢條件相對固定,利用相對固定的查詢條件對原始數據進行加工,生成一個小數據量的中間庫,每次查詢都對中間庫進行操作。這樣雖然會提高程序的性能,但會影響程序的靈活性,而且 Server端還需定時對原始數據進行加工維護。另一個途徑是在Server端保存查詢的結果。這樣雖然不能改善查詢的性能,但Client端換頁時Server端能夠很快響應。第一種途徑的實現比較簡單,本文介紹第二種途徑的實現方法。  

實現方法  
將Server端的查詢結果保存在一個動態數組中,即在 Session_OnStart過程中聲明一個二維的動態數組。當Server端收到Client端提交的申請后,首先判斷申請是條件查詢還是換頁,如是條件查詢則判別查詢條件是否與上次提交的查詢條件不同,如不同則執行查詢,將查詢結果保存在該數組中,然后向Client端返回第一頁的內容,否則直接從該數組中返回相應頁的內容。  
程序實現  
1.定義二維數組及其他變量  
Sub Session_OnStart
dim TempDb()  
redim Preserve TempDb(1,2)  
session(“StoredArray") = TempDb  
’定義一個Session數組
session(“iPageCount")=0
session(“iPageNo")=0
......
End Sub

2.調用存儲過程返回數據  

Sub GetRecordSet(strBbmc,strKssj ,
strZzsj ,strNodeCode ,strFxzl )
'參數為報表名稱和各個限制條件
select case strBbmc
case “交易匯總表"
strCnn=“PROVIDER=MSDASQL;dsn=sqldb;
uid=sa;pwd=123456;database=vlog;"
Set objcnn=Server.CreateObje(“ADODB.Connection")
objcnn.CommandTimeout = 9999999
objcnn.ConnectionTimeout = 99999999
objcnn.CursorLocation = adUseClient
objcnn.Open strCnn '打開連接  
Set objRs =Server.CreateObject
(“ADODB.Recordset")  
objRS.PageSize = iPageSize
objRS.CacheSize = iPageSize
objRs.Open “sszhatmlog ‘“ & strKssj & "' ,
‘“ & strZzsj & "', ‘“ & strNodeCode & "' ,
‘“ & strFxzl & "'",objcnn,adOpenStatic ,
adLockReadOnly,1
’執行存儲過程返回查詢結果
......
End Sub  

3.將查詢結果保存到動態數組  

Sub SaveRecordSet()  
if objRs.EOF = false then
objRs.movelast
session(“iRowCount") = objRs.recordCount
session(“iFieldCount") = objRs.Fields.Count
session(“iPageCount") = objRs.pagecount
redim Preserve TempArray(session
(“iRowCount"),session(“iFieldCount"))  
’TempArray是一個二維動態數組,  
根據記錄集大小重新定義其大小
objRs.MoveFirst
iCount=0  
do while objRs.EOF=false
iCount = iCount + 1  
for i= 1 to session(“iFieldCount")
TempArray(iCount,i)=objRs.Fields.Item
(i-1).value
next  
objRs.MoveNext  
loop
session(“StoredArray") = TempArray  
objRs.Close  
else
session(“iPageCount") = 0
end if
End Sub

4.顯示記錄內容  

Sub ShowRecord()
......
LocalArray=session(“StoredArray")  
iShowTotal=(iPageCurrent-1)*iPageSize+1  
iRowLoop = 1
do while iRowLoop < = iPageSize and iShowTotal
< = session(“iRowCount")
Response.Write(“< TR >")  
for i = 1 To session(“iFieldCount")
Response.write(“< TD >"  
& LocalArray(iShowTotal,i)) Next
Response.Write(“< /TR >")  
iShowTotal = iShowTotal + 1  
iRowLoop = iRowLoop + 1 loop
Response.Write(“< /TABLE >")  
if iPageCurrent < > 1 and  
iPageCurrent < session
(“iPageCount") then
% >
< center >< A HREF=“db_pag.asp?page=< %=  
iPageCurrent - 1 % >" >前一頁< /A >< A HREF=
“db_pag.asp?page=< %= iPageCurrent + 1 % >" >
后一頁< /A >< /center >  
< %  
else  
if iPageCurrent < > 1 then
% >
< center >< A HREF=“db_pag.asp?page=< %=
iPageCurrent - 1 % >" >前一頁 < /A >< /center >  
< %
end if
if iPageCurrent < session(“iPageCount")then
% >
< center >< A HREF=“db_pag.asp?page=
< %= iPageCurrent + 1 % >" >后一頁 < /A >
< /center >
< %
end if
end if
End Sub

5.主程序  

if Request.QueryString(“page") = “" then  
’提交查詢申請并且查詢條件與上一次不同
......
call GetRecordSet(strBbmc,strKssj,strZzsj,
strNodeCode,strFxzl)  
call SaveRecordSet  
Else
iPageCurrent=CInt(Request.QueryString(“page"))
strKssj=session(“strKssj")
end if  
if session(“iPageCount") = 0 then  
Response.Write “抱歉!沒有滿足條件的記錄"
Response.Write “< Br >"
else  
call showrecord()  
end if

結束語  
本程序的關鍵在于Session數組的定義及其賦值的實現,通過應用Session數組可以提高處理大量數據的應用程序的性能。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
99精品偷自拍| 国产亚洲制服色| 91一区二区在线观看| 欧美精品成人一区二区三区四区| 91色综合久久久久婷婷| 日韩成人av影视| 亚洲精品一区二区三区99| 牛人盗摄一区二区三区视频| 亚洲裸体在线观看| 欧美一区二区人人喊爽| 亚洲免费播放| 成人午夜视频在线| 成人精品电影在线观看| 成人午夜免费av| 色综合一个色综合亚洲| 亚洲私人影院| 亚洲成人自拍视频| 好吊日精品视频| 亚洲国产免费看| 亚洲日本无吗高清不卡| 亚洲精品久久久久久一区二区| 欧美午夜不卡| 国产三区二区一区久久| 一本到不卡免费一区二区| 色狠狠av一区二区三区| 欧美亚洲一区二区三区四区| 欧美日韩国产一级片| 欧美电影在线免费观看| 精品国产一区二区在线观看| 欧美精选午夜久久久乱码6080| 欧美精品色一区二区三区| 日韩三级在线免费观看| 精品三级在线观看| 亚洲欧洲无码一区二区三区| 亚洲精品乱码久久久久久久久| 亚洲主播在线播放| 免费看日韩精品| 国产成人av电影| 精品999日本| 精品视频1区2区| 国产日韩av一区| 亚洲影院在线观看| 国内精品视频666| 91污在线观看| 国产精品一区免费观看| 在线观看亚洲成人| 日韩一区二区三区av| 国产精品免费视频观看| 亚洲成人av一区二区| 国模无码大尺度一区二区三区| 91影视在线播放| 色中色一区二区| 亚洲精品一区二区三区蜜桃下载| 亚洲麻豆国产自偷在线| 国产一区二区三区国产| 欧美日韩18| 欧美日本一区二区| 中文字幕av资源一区| 久久精品国产色蜜蜜麻豆| av亚洲精华国产精华精华| 免播放器亚洲| 中文字幕第一区二区| 日本不卡一二三区黄网| 欧美国产精品| 欧美日韩在线三级| 中文字幕在线视频一区| 久久99精品视频| 激情综合在线| 日韩欧美一区二区三区在线| 亚洲最大色网站| a亚洲天堂av| 欧美在线啊v一区| 国产精品久久久久桃色tv| 韩国女主播成人在线观看| 亚洲丰满在线| 精品国产人成亚洲区| 久久99九九99精品| 国产精品手机视频| 欧美国产日韩a欧美在线观看| 国产一区 二区 三区一级| 国产伦精品一区二区三区视频黑人 | 麻豆久久久久久| 国产视频一区在线观看一区免费| 国产夜色精品一区二区av| 麻豆精品新av中文字幕| 国产精品亚洲欧美| 国产精品久久久久久户外露出| 韩国欧美国产1区| 久久久久久久久久久久久久一区| 欧美高清在线精品一区| 豆国产96在线|亚洲| 色综合久久久久综合99| 日韩一区在线播放| 91网站最新地址| 欧美精品777| 青青草国产成人99久久| 欧美日韩免费高清| 久久视频一区二区| 成人a免费在线看| 欧美va亚洲va| fc2成人免费人成在线观看播放| 欧美久久久久久蜜桃| 美女脱光内衣内裤视频久久影院| 国产精品免费看| 亚洲一区二区三区爽爽爽爽爽| 亚洲电影专区| 亚洲一区二区四区蜜桃| 亚洲精品在线观看免费| 亚洲人成影院在线观看| 一区视频在线| 国产肉丝袜一区二区| 欧美一区高清| 欧美国产精品中文字幕| 午夜亚洲福利| 国产日韩欧美制服另类| 国产a精品视频| 精品国偷自产国产一区| 国产乱子伦视频一区二区三区| 欧美精品久久天天躁| 久久国内精品视频| 欧美午夜寂寞影院| 久久99这里只有精品| 91精品视频网| 99在线精品观看| 国产精品久久久久久久久动漫| 亚洲国产免费看| 午夜影视日本亚洲欧洲精品| 亚洲日本激情| 日韩专区一卡二卡| 亚洲一区二区三区免费观看| 亚洲欧美日韩国产手机在线| 亚洲精品人人| 奇米精品一区二区三区四区 | 精品国产乱码久久久久久免费 | 亚洲女人av| 精品在线免费视频| 欧美sm极限捆绑bd| 91女人视频在线观看| 亚洲男女毛片无遮挡| 色婷婷久久久亚洲一区二区三区| 国产乱子轮精品视频| 欧美高清一级片在线观看| 亚洲在线电影| 国产伦精品一区二区三区免费| 中文字幕不卡一区| 色婷婷久久一区二区三区麻豆| www.综合网.com| 亚洲视频资源在线| 91国在线观看| 欧美日韩成人| 美女看a上一区| 国产欧美日韩视频一区二区| 另类亚洲自拍| 91麻豆国产自产在线观看| 亚洲欧美电影一区二区| 91超碰这里只有精品国产| 国模吧视频一区| 精品一区二区三区蜜桃| 自拍av一区二区三区| 欧美综合一区二区| 激情欧美一区| 国产精品综合在线视频| 亚洲自拍欧美精品| 久久久国产精品麻豆| 91久久奴性调教| 亚洲二区视频| av午夜精品一区二区三区| 无码av中文一区二区三区桃花岛| 精品一区二区三区的国产在线播放| 久久综合色鬼综合色| 欧美专区亚洲专区| 亚洲黄色天堂| 国产.欧美.日韩| 天天综合色天天| 中文字幕亚洲综合久久菠萝蜜| 日韩女优电影在线观看| 久久亚洲免费| 国产欧美日韩伦理| 欧美日韩免费精品| eeuss鲁一区二区三区| 久久精品国产色蜜蜜麻豆| 亚洲一区二区三区四区在线免费观看| 91麻豆精品国产91久久久更新时间 | 成人免费视频网站在线观看| 美女视频黄 久久| 五月婷婷激情综合网| 国产精品国产三级国产aⅴ无密码| 日韩亚洲电影在线| 欧美午夜精品久久久久久孕妇| 久久精品国产第一区二区三区最新章节 | 免费一区视频| 在线亚洲自拍| 国产综合亚洲精品一区二| 欧美一区二区在线| 国产不卡视频一区二区三区| 精品一区二区三区免费| 久久国产精品第一页| 奇米四色…亚洲| 亚洲aaa精品| 日韩精品一区第一页|