韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

通過 ASP 記錄進(jìn)行分頁

通過 ASP 記錄進(jìn)行分頁

更新時間:2021-03-06 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

簡介

在 Active Server Pages (ASP) 應(yīng)用程序中顯示大型記錄集,很可能是您熟悉的一個問題。本文對此問題及其解決方案和示例代碼進(jìn)行了深入探討,這個示例代碼經(jīng)過簡單修改,就可以應(yīng)用于您的具體情況。該示例代碼被設(shè)計成服務(wù)器端的解決方案,它與瀏覽器無關(guān)。另外,我會指出您在設(shè)計自己的解決方案時需要考慮的問題。

問題

您的查詢返回了一個大型記錄集。需要提供一個簡便方法來瀏覽這些結(jié)果,即在每頁上只顯示結(jié)果的子集。要有效的完成此項工作,需要對 ActiveX(R) 數(shù)據(jù)對象 (ADO) 和數(shù)據(jù)庫如何協(xié)同工作有深入的了解。

解決方案

如何將您的記錄集分成“頁”,而不用大型的結(jié)果?所謂頁,基本上就是您指定應(yīng)當(dāng)顯示在一起的許多記錄。例如,如果您的記錄集中有 100 條記錄,可能每頁顯示 10 條記錄。

ADO 提供了兩種方法,PageSize 和 AbsolutePage。這些方法使您能夠指定每頁要顯示的記錄數(shù),以及將游標(biāo)定位于一頁的開始。

打開記錄集之后,基本步驟就是:

為該記錄集指定 PageSize。它表示每頁要顯示的記錄數(shù)。
指定該記錄集的 AbsolutePage。這將記錄指針移到頁的序列中,給定頁的開始處。
顯示記錄頁。要完成這一步,您要用設(shè)置的 PageSize 次數(shù)循環(huán)整個記錄集,或者直到到達(dá)文件的末尾。
示例代碼

下列示例代碼說明了頁面建立過程。借助它,您可以建立自己的解決方案的原型。在您自己的代碼中,確保要完成下列步驟:

添加錯誤處理。
添加對查詢返回的記錄數(shù)的限制。
用條件過濾記錄。(如,建立 WHERE 子句)。
使用存儲過程或視圖。
一定要通過更改連接字符串和 SQL 語句來修改我的示例代碼,以指向您的數(shù)據(jù)庫。由于代碼使用 ADO 常數(shù),如 adUserServer,一定要在您的 Global.asa 文件中引用 ADO TypeLibrary,或在 ASP 頁中包括 ADOVBS.INC 文件。請注意,在將項目引用設(shè)置為 Microsoft ADO 時,Visual InterDev(R) 會為您自動生成 TypeLibrary 引用。

注意該示例有兩種方法可以提供導(dǎo)航欄:

ShowNavBar。 它為用戶提供了帶著記錄計數(shù)一起跳到指定頁的方法(見圖 1)。為實現(xiàn)這一步,它使用了 RecordCount 和 PageCount 屬性。
ShowNavBarFast。 該方法不提供跳轉(zhuǎn)到指定頁的能力,也不提供記錄計數(shù),但可以通過 CacheSize 屬性控制取回的記錄數(shù)(見圖 2)。
PageThroughRs.Asp

<%@ Language=VBScript %>
<% Option Explicit %>
<SCRIPT LANGUAGE=VBScript RUNAT=SERVER>
'確保引用 ADO Typelib 或使用 ADOVBS.Inc
Dim iPageNum, iRowsPerPage

Main
Sub Main()
Dim rst
Dim sSQL, sConnString

If Request.QueryString("iPageNum") = "" Then
iPageNum = 1
Else
iPageNum = Request.QueryString("iPageNum")
iPageNum = CInt(iPageNum)
End If

iRowsPerPage = 10


sConnString = "Provider=SQLOLEDB.1;password=Xyz123;user id=WebUser;" & _
"Initial Catalog=NorthWind;Data Source=MySQLServer;" & _
"network=dbmssocn;"

'下列 SQL 從 SQL 視圖中檢索所有列。
'要優(yōu)化性能:
'- 使用存儲過程、視圖或在 SELECT 中指定列
'- 使用限制返回的記錄的條件(例如,WHERE 子句)
sSQL = "SELECT CategoryName, ProductName, QuantityPerUnit,"
sSQL = sSQL & "UnitsInStock, Discontinued"
sSQL = sSQL & " FROM [Products By Category]"

Set rst = GetRecords(sConnString, sSQL)

WriteTableHeader rst
WriteTableBody rst, iRowsPerPage, iPageNum
ShowNavBar rst

'ShowFastNavBar 方法不使用 RecordCount
'或 PageCount,所以它重試的記錄數(shù)僅等于
'記錄集的 CacheSize 指定的數(shù)量。

'ShowFastNavBar rst

CleanUp rst
End Sub

Function GetRecords(sConnString, sSQL)
Dim cnn
Dim rst

set cnn = Server.CreateObject("ADODB.CONNECTION")
cnn.ConnectionString = sConnString
nn.Open

Set rst = Server.CreateObject("ADODB.RECORDSET")

Set rst.ActiveConnection = cnn

'當(dāng)記錄集打開時,adUseClient 的 CursorLocation
' 將檢索所有的記錄。
'adUseServer 允許沿用 CacheSize
rst.CursorLocation = adUseServer

'在使用服務(wù)器端游標(biāo)時,CacheSize
'限制了取回的行數(shù)。我們將只抓取正在顯示的
'的記錄的數(shù)目 - iRowsPerPage
rst.CacheSize = iRowsPerPage

rst.Open sSQL,,adOpenStatic, adLockReadOnly牋?
Set GetRecords = rst
end Function

Sub WriteTableHeader(rst)
Dim fld

Response.Write "<TABLE WIDTH=80% BORDER=1>"
Response.Write "<TR>"

'建立表的列標(biāo)題
For Each fld in rst.Fields
Response.Write "<TD><B>" & fld.Name & "</B></TD>"
Next
Response.Write "</TR>"
End Sub

Sub WriteTableBody(rst, iRowsPerPage, iPageNum)
Dim iLoop
Dim fld

iLoop = 1

rst.PageSize = iRowsPerPage
rst.AbsolutePage = iPageNum

'寫出記錄的當(dāng)前頁
Do While (Not rst.EOF) and (iLoop <= iRowsPerPage)
Response.Write "<TR>"
For Each fld in rst.Fields
Response.Write "<TD>" & fld.value & "</TD>"
Next
iLoop = iLoop + 1
rst.MoveNext
Response.Write "</TR>"
Loop
Response.Write "</TABLE>"
End Sub

Sub ShowNavBar(rst)
Dim iPageCount
Dim iLoop
Dim sScriptName

'本版本提供了更豐富的用戶導(dǎo)航,但是
'依賴于 RecordCount 和 PageCount,
'它抵消了為服務(wù)器端游標(biāo)
'指定 CacheSize 的好處。

Response.Write "<BR><BR>"
sScriptName = Request.ServerVariables("SCRIPT_NAME")

If iPageNum > 1 Then
Response.Write " <a href=" & sScriptName & "?iPageNum="
Response.Write (iPageNum -1) & "><< Previous</a>"
End If

iPageCount = rst.PageCount
Do Until iLoop > iPageCount
f iLoop = iPageNum Then
Response.Write " <B>" & CStr(iLoop) & "</B>"
Else
Response.Write " <a href=" & sScriptName & "?iPageNum=" & _
Cstr(iLoop) & ">" & iLoop & "</a>"
End If
iLoop = iLoop + 1
Loop

If Not rst.EOF Then
Response.Write " <a href=" & sScriptName & "?iPageNum="
Response.Write (iPageNum +1) & "> Next >></a><BR>"
Else
Response.Write "<BR>"
End If

Response.Write "Page " & iPageNum & " of " & iPageCount & "<BR>"
Response.Write rst.RecordCount & " Records" 牋?
End Sub

Sub ShowFastNavBar(rst)
Dim iPageCount
Dim iLoop
Dim sScriptName

'在指定 CacheSize 和使用服務(wù)器端游標(biāo)時,
'該方法特別有效,因為它不使用 RecordCount
'和 PageCount。需要用戶具有經(jīng)驗。

Response.Write "<BR><BR>"
sScriptName = Request.ServerVariables("SCRIPT_NAME")

If iPageNum > 1 Then
Response.Write " <a href=" & sScriptName & "?iPageNum="
Response.Write (iPageNum -1) & "><< Previous</a>"
End If

If Not rst.EOF Then
Response.Write " <a href=" & sScriptName & "?iPageNum="
Response.Write (iPageNum +1) & "> Next >></a><BR>"
Else
Response.Write "<BR>"
End If

Response.Write "Page " & iPageNum

End Sub

Sub CleanUp(rst)
If Not rst Is Nothing then
If rst.state = adStateOpen then rst.close
set rst = nothing
End If
End Sub

</SCRIPT>
分析

設(shè)計分頁解決方案時,需注意的幾個問題:

游標(biāo)定位問題。如果使用客戶端游標(biāo),每次打開記錄集時,將讀取所有的記錄。因此,由于讀取了所有的記錄,以后訪問 RecordCount 或 PageCount 屬性時將很快。如果您使用服務(wù)器端游標(biāo),將只檢索需要的記錄。您可以通過 CacheSize 屬性指定一次要讀取的記錄數(shù)來提高性能。然而,如果您使用服務(wù)器端游標(biāo),和 RecordCount 或 PageCount 屬性,則將讀取所有的記錄,性能得不到提高。必須在具有更多信息和更豐富導(dǎo)航的用戶界面,與檢索所有記錄的性能影響之間折衷。
使用服務(wù)器端游標(biāo)時,CursorType 屬性必須是 adOpenStatic 或 adOpenKeyset,才能使用分頁。
分頁并非總是最好的用戶頁面。它可能僅適用于用戶正從搜索引擎掃描結(jié)果或瀏覽產(chǎn)品目錄的情況。
試將記錄分類,以使更相關(guān)的記錄出現(xiàn)在前幾頁中(例如,使用 SQL 的 ORDER BY 子句)。用戶所能做的就這么多。
只檢索需要顯示的列(即,避免 SELECT *)。
只檢索需要顯示的記錄。確保過濾的條件(即,使用 WHERE 子句)。
以下是需要牢記的幾點提示:

將您的邏輯封裝在方法中。使用方法可將表示邏輯和數(shù)據(jù)訪問邏輯分離,這就簡化了將代碼裝入 Windows 腳本組件、Visual Basic 腳本編輯 (VBScript) 類或組件的工作。改變功能更容易了,代碼維護(hù)也得以改進(jìn)。測試和調(diào)試也因可以注釋和取消注釋方法調(diào)用而得到改進(jìn)。
與包括 ADOVBS.INC 相比,引用 ADO 的 TypeLibrary 是更好的解決方案。這是因為 ASP 在處理包含文件時,是將整個文件讀入內(nèi)存,而不是只讀入它需要的部分。
結(jié)論

分頁是一項通用技術(shù),許多 Web 應(yīng)用程序用它來提供瀏覽大量記錄的好方法。在設(shè)計分頁解決方案時,需要考慮一些問題,如,如何檢索記錄,需要提供什么類型的用戶導(dǎo)航。盡管最好的解決方案取決于您的具體的應(yīng)用程序,使用本文中的技術(shù)將幫助您作出更好的設(shè)計決策。

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

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
亚洲视频在线观看一区| 欧美另类在线播放| 欧美网站在线观看| 中文在线综合| 五月天激情视频在线观看| 国产欧美一区二区三区在线看蜜臀| 北条麻妃亚洲一区| 亚洲图片制服诱惑| 久久久久久久综合色一本| 人人爽人人爽av| 天堂av在线播放| 色狠狠色噜噜噜综合网| 99精品视频在线免费播放| www久久久久久久| 国产美女极度色诱视频www| 欧美日本另类xxx乱大交| 亚洲色图色老头| 成年永久一区二区三区免费视频| 亚洲黄色片视频| 精品免费国产一区二区三区四区| √8天堂资源地址中文在线| 日本成人一区二区三区| 国产乱女淫av麻豆国产| 第一区免费在线观看| 亚洲精品美女免费| 偷拍亚洲精品| 哪个网站能看毛片| 久久av一区二区三区漫画| 日韩在线观看视频一区二区三区| 亚洲在线免费观看| 成人在线观看小视频| 国产福利小视频在线| 日本一区美女| 在线观看国产精品入口| 91不卡在线观看| 国产视频网址在线| 日本午夜精品理论片a级appf发布| 欧美韩国日本在线观看| 新版中文字幕在线资源| 亚洲一区免费看| 国产精品亚洲专一区二区三区| 欧美午夜片在线观看| 亚洲一区二区三区毛片| 欧美虐宫另类残忍视频| 91精品国产综合久久小美女| 91精品91久久久中77777老牛| 五月天激情视频在线观看| 毛片av一区二区| www.com国产| 国产精品天天干| 少妇免费毛片久久久久久久久| 欧美资源一区| 久久久久久久国产精品影院| 久久精品一偷一偷国产| 欧美成人a∨高清免费观看| www免费视频| 最近中文字幕在线中文高清版| 黄网在线观看视频| 91麻豆精品国产91久久久资源速度| 欧美著名女优| 一本大道久久精品| 欧美日韩国产91| 性生交大片免费看l| 亚洲v国产v欧美v久久久久久| 成人免费视频一区| 国产又黄又爽又色| 欧美日韩国产中文精品字幕自在自线| 天天操天天操天天| 免费国产精品视频| 日韩久久久久久久久久久久| 丁香花在线影院观看在线播放| 91国内揄拍国内精品对白| 日韩在线观看成人| 日本毛片在线免费观看| 国产又粗又猛又爽视频| 2021久久国产精品不只是精品| 日本少妇一区二区三区| 国产精品69毛片高清亚洲| 男人插入女人视频| 奇米影视亚洲色图| 秋霞欧美在线观看| 激情欧美一区二区三区黑长吊| 不卡视频一二三| 国产精品成人av性教育| 国产成人一区| 无码任你躁久久久久久久| 国产精品自产拍在线观看| 中文字幕一区在线| 亚洲精品国产一区二区精华液| 亚洲欧美视频在线播放| 亚洲成a人片77777在线播放| 杨幂一区二区国产精品| 日韩国产欧美一区| 少妇高潮爽到全身痉挛抽搐| 欧美一级做a爰片免费视频| 国产精品免费小视频| 国产精品久久久久久久天堂第1集| 婷婷六月天在线| 亚洲中文字幕无码av| 一级国产黄色片| 欧美激情亚洲国产| 一区二区三区四区五区视频| 欧美精品一区二区成人| 欧美日韩极品在线观看一区| 天堂av资源在线| 精品美女永久免费视频| 国产成a人亚洲精v品无码| 日韩欧美在线综合| 精产国品自在线www| 亚洲成av人片一区二区密柚| 在线观看一区二区精品视频| 91国在线视频| 欧美撒尿777hd撒尿| 国产中文日韩欧美| 91av在线免费视频| 亚洲高清在线免费| 91在线高清| 一区二区三区日韩在线观看| 杨幂一区二区三区免费看视频| 夫妻免费无码v看片| 亚洲视屏在线播放| 水蜜桃在线视频| 97se亚洲综合| 欧美日韩中文字幕精品| 99久热re在线精彩视频| 久久精品波多野结衣| 婷婷电影在线观看| 日韩一区二区三区高清| 91精品国产乱码久久久久久久久| 久久精品电影| 日本加勒比一区| 涩涩漫画在线观看| 国产精品不卡一区| 亚洲妇熟xx妇色黄蜜桃| 在线视频中文字幕| 大地资源高清在线视频观看| 久久国产视频一区| 欧美日韩伦理片| 精品视频在线看| 亚洲欧洲精品一区二区三区| 日韩中文字幕不卡| 中文字幕精品久久久| 欧美最猛性xxxx免费| 国产高清在线一区二区| 国产成人av网站| 狠狠爱在线视频一区| 日韩精品在线不卡| 成人久久久精品乱码一区二区三区| 国产日韩综合| 午夜精品一区二区三区视频| 蜜桃91丨九色丨蝌蚪91桃色| 成人av在线网| 精品国产乱码久久久久久蜜臀网站| 免费人成在线观看网站| 2019国产精品自在线拍国产不卡| 黄色网一区二区| 日韩在线一区二区三区免费视频| 国产伦精品一区二区三区在线| 免费成人午夜视频| 成人国产一区二区三区精品麻豆| 亚洲一区二区三区乱码aⅴ蜜桃女| 天天做天天爱天天综合网| 黄色动漫网站入口| 国产亚洲成av人片在线观看| 日韩激情av在线免费观看| 青青草免费av| 亚洲日本aⅴ片在线观看香蕉| wwwxxxx欧美| 欧美日韩一级黄色片| 国产一级视频| 99在线高清视频在线播放| 成人短视频下载| 欧美久久精品一级c片| 国产 日韩 欧美 在线| 特级xxxxx欧美| 视频一区二区三区不卡| 正在播放精油久久| 久久精品亚洲热| 一区二区视频在线免费观看| 9色在线视频网站| 91美剧网在线播放| 亚洲午夜免费福利视频| 最近中文字幕在线免费观看| 亚洲欧美国产77777| 免费人成视频在线| 久久精品亚洲a| 亚洲国产成人在线播放| 国产精品久久久免费| 在线亚洲午夜片av大片| 亚洲国产aⅴ精品| 91精品人妻一区二区三区蜜桃欧美| 精品日本一区二区三区| 久久人人爽人人爽人人片av高请| 精品美女一区| www.欧美三级电影.com| 国产精品日本欧美一区二区三区| 亚洲成人教育av| 一区二区三区网| 欧美综合一区二区| 日韩在线电影| av毛片在线免费观看| 国产成人99久久亚洲综合精品| 日韩有码中文字幕在线| 精品1卡二卡三卡四卡老狼| 国产精品久久久久久av下载红粉| 天堂中文资源在线观看| 99热这里只有精品4| 欧美在线不卡一区| 免费永久网站黄欧美| 精品国产午夜福利| 欧美激情福利视频在线观看免费| 在线视频你懂得一区二区三区| 日本人妖一区二区| 福利视频网站| 在线能看的av| aaaaa级少妇高潮大片免费看| 国产精品毛片aⅴ一区二区三区| 日韩欧美国产一区二区三区| 青草在线视频在线观看| 欧美日韩一道本| 成人性生交大片免费看中文视频| 日韩高清国产一区在线| 无遮挡爽大片在线观看视频| 伦理欧美一区| 精品中文字幕一区二区三区| 成人av婷婷| 在线免费观看日韩视频| 欧美一级视频免费在线观看| 久久视频免费观看| 精品国产一区二区三区久久影院| 精品国产一区二区三区久久久狼| 国产天堂素人系列在线视频| 黄色在线免费看| 在线一级成人| 亚洲国产精品黑人久久久| 日韩亚洲国产中文字幕欧美| 在线精品日韩| 亚洲欧美精品在线观看| 成人小视频免费在线观看| 亚洲国产婷婷香蕉久久久久久| 在线观看你懂| 亚洲午夜久久久影院| 日韩av无码一区二区三区不卡| 精品国产一区二区三区不卡在线| 卡一卡2卡三精品| 亚洲成熟丰满熟妇高潮xxxxx| bbw丰满大肥奶肥婆| 婷婷夜色潮精品综合在线| 男人天堂网站在线| 奇米影视首页 狠狠色丁香婷婷久久综合| 精品999在线播放| 7777精品伊久久久大香线蕉语言| 久久精品人妻一区二区三区| 蜜桃自拍偷拍| 免费在线观看av电影| 亚洲精华国产精华精华液网站| 日韩欧美激情视频| 久久亚洲春色中文字幕久久久| 下面一进一出好爽视频| 韩国三级在线播放| 国产特黄大片aaaa毛片| 久久国产精品99久久久久久老狼| 国产香蕉一区二区三区在线视频| 国产视频在线观看网站| 免费的av电影| 亚洲精品一区二区三区av| 欧美xxxx黑人| jizzjizzjizzjizzjizzjizzjizz| 小黄鸭精品aⅴ导航网站入口| 乱h高h女3p含苞待放| 久久久国产精品不卡| 亚洲同志男男gay1069网站| 国产一区美女在线| 免费无码一区二区三区| 久久伊人免费视频| 国产偷人妻精品一区| av免费看大片| 亚洲啪啪aⅴ一区二区三区9色| 久久亚洲在线| 国产精品久久久久9999吃药| 性の欲びの女javhd| 欧美国产一区二区三区激情无套| 美国av一区二区三区| 欧美限制电影| 青青草原综合久久大伊人精品| 欧美日韩一区综合| 天天综合网91| 美女网站在线免费欧美精品| 久久不射网站| 伊人成人网在线看| 婷婷六月天丁香| 无遮挡又爽又刺激的视频| 日韩精品四区| 欧美高清视频一区二区三区| 国产日韩欧美在线播放不卡| 久久av在线播放| 最猛黑人系列在线播放| 国产精品第六页| 成人午夜视频一区二区播放| 亚洲国产电影在线观看| 在线中文字幕视频观看| 亚洲第一页综合| 亚洲图区在线| 国产成人强伦免费视频网站| sdde在线播放一区二区| 亚洲午夜精品一区二区国产| 欧美一级片中文字幕| 黑人巨大精品欧美一区二区小视频| 久久99久久99精品免观看粉嫩| 国产欧美1区2区3区| 亚洲欧洲二区| 黄一区二区三区| 久久久久久久久97黄色工厂| 成片免费观看视频| 亚洲国产视频在线| 欧美一级久久久久久久大片| 亚洲欧美视频一区二区| 色94色欧美sute亚洲线路一ni| 欧美精选午夜久久久乱码6080| 蜜桃福利午夜精品一区| 手机在线免费看av| 亚洲综合日本| 一本色道久久综合亚洲精品高清| √新版天堂资源在线资源| 久久久噜噜噜| 久久久精品综合| 日韩影院在线| 水蜜桃精品av一区二区|