亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

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

2019-11-18 20:25:43
字體:
來源:轉載
供稿:網友
原作:張立鋒 張 禾

概 述  
現在有不少介紹利用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數組可以提高處理大量數據的應用程序的性能。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区三区日韩欧美| 国产精品成人免费电影| 国产国产精品人在线视| 国产精品v片在线观看不卡| 国产精品一区二区3区| 久久久国产成人精品| 亲爱的老师9免费观看全集电视剧| 亚洲高清在线观看| 欧美专区第一页| 91高清免费在线观看| 午夜精品久久久99热福利| 成人激情电影一区二区| 国产综合视频在线观看| 伊人亚洲福利一区二区三区| 亚洲视频在线观看视频| 欧美日韩亚洲视频一区| 国内精品国产三级国产在线专| 亚洲国产高清福利视频| 国内精品模特av私拍在线观看| 亚洲欧美第一页| 欧美成人sm免费视频| 日韩av在线最新| 色中色综合影院手机版在线观看| 欧美一级在线播放| 北条麻妃一区二区三区中文字幕| 国产精品日韩专区| 亚洲福利在线视频| 国产亚洲精品激情久久| 福利一区视频在线观看| 久久久精品国产网站| 高清视频欧美一级| 国产美女精品视频免费观看| 欧美xxxx18性欧美| 亚洲欧美在线免费观看| 日本免费一区二区三区视频观看| 5566日本婷婷色中文字幕97| 粉嫩av一区二区三区免费野| 成人性生交大片免费观看嘿嘿视频| 欧美丝袜第一区| 国产成人涩涩涩视频在线观看| 欧美日本国产在线| 亚洲成av人乱码色午夜| 久久久久久久国产精品| 欧美黄网免费在线观看| 色综合久久88色综合天天看泰| 国产精品91一区| 欧美华人在线视频| 欧美激情精品久久久久久变态| 国产视频丨精品|在线观看| 国产精品久久久一区| 国产精品自产拍在线观| 亚洲人成网7777777国产| 国产大片精品免费永久看nba| 91久久综合亚洲鲁鲁五月天| 日韩在线播放av| 欧美麻豆久久久久久中文| 欧美裸体xxxxx| 欧美专区日韩视频| 国产主播喷水一区二区| 日韩精品视频免费在线观看| 91av在线免费观看视频| 国产精品久久999| 91精品国产91久久久久久不卡| 成人免费激情视频| 久久久久久网站| 亚洲精品电影在线观看| 国产精品久久久久aaaa九色| 日韩一区二区三区在线播放| 精品国偷自产在线视频| 国产精品成人国产乱一区| 在线日韩第一页| 欧美激情国产精品| 久久青草精品视频免费观看| 成人乱色短篇合集| 91九色综合久久| 欧美激情亚洲国产| 国产日韩欧美影视| 日韩黄色在线免费观看| 在线看福利67194| 最近2019年手机中文字幕| 91精品国产综合久久香蕉922| 欧美黑人性生活视频| 亚洲在线免费看| 97国产一区二区精品久久呦| 91中文精品字幕在线视频| 97精品一区二区三区| 欧美美女18p| 欧美精品一本久久男人的天堂| 亚洲肉体裸体xxxx137| 日韩精品久久久久久久玫瑰园| 中文字幕日韩有码| 色综合天天综合网国产成人网| 国产精品视频中文字幕91| 精品亚洲一区二区三区在线观看| 亚洲精品在线看| 国模极品一区二区三区| 国产精品久久久久7777婷婷| 国产欧美va欧美va香蕉在| 亚洲精品视频免费在线观看| 91久久在线播放| 久久在线免费观看视频| 欧美裸体男粗大视频在线观看| 国产精品第100页| 欧美午夜激情小视频| 91亚洲永久免费精品| 黄色一区二区三区| 91黑丝在线观看| …久久精品99久久香蕉国产| 久久99久国产精品黄毛片入口| 国产成人精品免高潮费视频| 中文字幕精品网| 日韩av综合网站| 欧美精品一区三区| 久久久久久12| 国产精品日日做人人爱| 怡红院精品视频| 亚洲精品视频免费| 国内精品久久久久久久久| 久久99久久99精品免观看粉嫩| 亚洲欧美激情在线视频| 欧美日韩亚洲一区二| 国产精品久久久久久超碰| 日韩有码在线视频| 亚洲国产精彩中文乱码av| 日韩av网址在线观看| 狠狠躁夜夜躁人人爽超碰91| 国产丝袜一区视频在线观看| 欧美日韩美女在线观看| 亚洲天堂一区二区三区| 精品久久久久久中文字幕| 欧美日韩国产精品一区二区不卡中文| 成人午夜两性视频| 欧美孕妇与黑人孕交| 欧美激情视频在线观看| 亚洲午夜激情免费视频| 欧美有码在线观看| 26uuu国产精品视频| 国产精品www网站| 欧美综合激情网| 欧美激情2020午夜免费观看| 亚洲国内精品在线| 日韩av电影在线免费播放| 热久久免费国产视频| 亚洲视频在线观看免费| 久久国产精品网站| 日韩黄色高清视频| 国产日韩精品综合网站| 日韩精品视频三区| 国产剧情久久久久久| 亚洲第一天堂无码专区| 欧美日韩中文字幕在线| 精品综合久久久久久97| 成人欧美一区二区三区黑人孕妇| 欧美大奶子在线| 国产精品美女免费看| 国产精品美女免费| 国产欧美精品日韩| 亚洲乱码一区二区| 亚洲国产精品免费| 国产亚洲视频在线观看| 亚洲图片欧洲图片av| 国产日韩综合一区二区性色av| 欧美极品在线视频| 国产精品极品在线|