亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? asp分頁顯示詳論.txt

?? 較為詳細的介紹了asp自定義的各種函數(shù),方便asp的各種開發(fā).
?? TXT
字號:
 asp分頁顯示詳論
asp分頁顯示詳論


eNet學(xué)院


如果你使用過目前眾多網(wǎng)站上的電子公告板程序的話,那你應(yīng)該會知道電子公告板程序為了提高頁面的讀取速度, 

一般不會將所有的帖子全部在一頁中羅列出來,而是將其分成多頁顯示,每頁 

顯示一定數(shù)目的帖子數(shù),譬如 20 條。想不想了解如何實現(xiàn)分頁顯示?請看 

本文! 

  那么究竟如何才能做到將數(shù)據(jù)庫的查詢結(jié)果分頁顯示呢?其實方法有很多, 

但主要有兩種: 

  一、將數(shù)據(jù)庫中所有符合查詢條件的記錄一次性的都讀入 recordset 中, 

存放在內(nèi)存中,然后通過 ADO Recordset 對象所提供的幾個專門支持分頁處 

理的屬性: PageSize( 頁大小 )、 PageCount( 頁數(shù)目 ) 以及 

AbsolutePage( 絕對頁 ) 來管理分頁處理。 

  二、根據(jù)客戶的指示,每次分別從符合查詢條件的記錄中將規(guī)定數(shù)目的記 

錄數(shù)讀取出來并顯示。 

  兩者的主要差別在于前者是一次性將所有記錄都讀入內(nèi)存然后再根據(jù)指示 

來依次做判斷分析從而達到分頁顯示的效果,而后者是先根據(jù)指示做出判斷并 

將規(guī)定數(shù)目的符合查詢條件的記錄讀入內(nèi)存,從而直接達到分頁顯示的功能。 

  我們可以很明顯的感覺到,當(dāng)數(shù)據(jù)庫中的記錄數(shù)達到上萬或更多時,第一 

種方法的執(zhí)行效率將明顯低于第二種方法,因為當(dāng)每一個客戶查詢頁面時都要 

將所有符合條件的記錄存放在服務(wù)器內(nèi)存中,然后在進行分頁等處理,如果 

同時有超過 100 個的客戶在線查詢,那么 ASP 應(yīng)用程序的執(zhí)行效率將大受 

影響。但是,當(dāng)服務(wù)器上數(shù)據(jù)庫的記錄數(shù)以及同時在線的人數(shù)并不是很多時, 

兩者在執(zhí)行效率上是相差無幾的,此時一般就采用第一種方法,因為第一種 

方法的 ASP 程序編寫相對第二種方法要簡單明了得多。 

  在這里作者就以我們常見的 ASP BBS 程序為例,來給大家分析一下如何 

在 BBS 程序里實現(xiàn)分頁顯示功能,由于我們一般使用的 BBS 程序的數(shù)據(jù)庫 

記錄數(shù)和同時訪問的人數(shù)都不會太多,所以以下程序?qū)嵗鞘褂玫南惹八榻B 

的第一種分頁顯示方法。 

   進行 ADO 存取數(shù)據(jù)庫時的分頁顯示,其實就是對 Recordset 的記錄 

進行操作。所以我們首先必須了解 Reordset 對象的屬性和方法: 

   BOF 屬性:目前指標指到 RecordSet 的第一筆。 

   EOF 屬性:目前指標指到 RecordSet 的最后一筆。 

   Move 方法:移動指標到 RecordSet 中的某一條記錄。 

   AbsolutePage 屬性:設(shè)定當(dāng)前記錄的位置是位于哪一頁 

AbsolutePosition 屬性:目前指標在 RecordSet 中的位置。 

   PageCount 屬性:顯示 Recordset 對象包括多少“頁”的數(shù)據(jù)。 

   PageSize 屬性:顯示 Recordset 對象每一頁顯示的記錄數(shù)。 

   RecordCount 屬性:顯示 Recordset 對象記錄的總數(shù)。 

   下面讓我們來詳細認識一下這些重要的屬性和方法 

   一、 BOF 與 EOF 屬性 

   通常我們在 ASP 程序中編寫代碼來檢驗 BOF 與 EOF 屬性,從而得知 

目前指標所指向的 RecordSet 的位置,使用 BOF 與 EOF 屬性,可以得知 

一個 Recordset 對象是否包含有記錄或者得知移動記錄行是否已經(jīng)超出該 

Recordset 對象的范圍。 

   如: < % if not rs.eof then ... %> 

   < % if not (rs.bof and rs.eof) %> 

  若當(dāng)前記錄的位置是在一個 Recordset 對象第一行記錄之前時, BOF 

屬性返回 true,反之則返回 false。 

  若當(dāng)前記錄的位置是在一個 Recordset 對象最后一行記錄之后時, 

EOF 屬性返回 true,反之則返回 false。 

  BOF 與 EOF 都為 False:表示指標位于 RecordSet 的當(dāng)中。 

  BOF 為 True:目前指標指到 RecordSet 的第一筆記錄。 

EOF 為 True:目前指標指到 RecordSet 的最后一筆記錄。 

  BOF 與 EOF 都為 True:在 RecordSet 里沒有任何記錄。 

  二、 Move 方法 

  您可以用 Move 方法移動指標到 RecordSet 中的某一筆記錄,語法如下: 

  rs.Move NumRecords,Start 

  這里的“rs”為一個對象變量,表示一個想要移動當(dāng)當(dāng)前記錄位置的 

Recordset 對象;“NumRecords”是一個正負數(shù)運算式,設(shè)定當(dāng)前記錄位置 

的移動數(shù)目;“start”是一個可選的項目,用來指定記錄起始的標簽。 

   所有的 Recordset 對象都支持 Move 方法,如果 NumRecords 參數(shù) 

大于零,當(dāng)前記錄位置向末尾的方向移動;如果其小于零,則當(dāng)前記錄位置 

向開頭的方向移動;如果一個空的 Recordset 對象調(diào)用 Move 方法,將會 

產(chǎn)生一個錯誤。 

   MoveFirst 方法:將當(dāng)前記錄位置移至第一筆記錄。 

   MoveLast 方法:將當(dāng)前記錄位置移至最后一筆記錄。 

   MoveNext 方法:將當(dāng)前記錄位置移至下一筆記錄。 

MovePrevious 方法:將當(dāng)前記錄位置移至上一筆記錄。 

   Move [n] 方法:移動指標到第 n 筆記錄, n 由 0 算起。 

  三、 AbsolutePage 屬性 

  AbsolutePage 屬性設(shè)定當(dāng)前記錄的位置是位于哪一頁的頁數(shù)編號; 

使用 PageSize 屬性將 Recordset 對象分割為邏輯上的頁數(shù),每一頁的記錄 

數(shù)為 PageSize( 除了最后一頁可能會有少于 PageSize 的記錄數(shù) )。這里 

必須注意并不是所有的數(shù)據(jù)提供者都支持此項屬性,因此使用時要小心。 

  與 AbsolutePosition 屬性相同, AbsolutePage 屬性是以 1 為起始 

的,若當(dāng)前記錄為 Recordset 的第一行記錄, AbsolutePage 為 1。可以 

設(shè)定 AbsolutePage 屬性,以移動到一個指定頁的第一行記錄位置。 

  四、 AbsolutePosition 屬性 

  若您需要確定目前指標在 RecordSet 中的位置,您可以用 

AbsolutePosition 屬性。 

  AbsolutePosition 屬性的數(shù)值為目前指標相對於第一筆的位置,由 1 

算起,即第一筆的 AbsolutePosition 為 1。 

  注意 , 在存取 RecordSet 時,無法保證 RecordSet 每次都以同樣的 

順序出現(xiàn)。 

  若要啟用 AbsolutePosition,必須先設(shè)定為使用用戶端 

cursor( 指針 ), asp 碼如下: 

  rs2.CursorLocation = 3 

  五、 PageCount 屬性 

  使用 PageCount 屬性,決定 Recordset 對象包括多少“頁”的數(shù)據(jù)。 

這里的“頁”是數(shù)據(jù)記錄的集合,大小等于 PageSize 屬性的設(shè)定,即使最后 

一頁的記錄數(shù)比 PageSize 的值少,最后一頁也算是 PageCount 的一頁。 

必須注意也并不是所有的數(shù)據(jù)提供者都支持此項屬性。 

  六、 PageSize 屬性 

  PageSize 屬性是決定 ADO 存取數(shù)據(jù)庫時如何分頁顯示的關(guān)鍵,使用它 

就可以決定多少記錄組成一個邏輯上的“一頁”。設(shè)定并建立一個頁的大小, 

從而允許使用 AbsolutePage 屬性移到其它邏輯頁的第一條記錄。 

PageSize 屬性能隨時被設(shè)定。 

  七、 RecordCount 屬性 

  這也是一個非常常用和重要的屬性,我們常用 RecordCount 屬性來找出 

一個 Recordset 對象包括多少條記錄。如: 

< % totle=RS.RecordCount %> 

  在了解了 Recordset 對象的以上屬性和方法后,我們來考慮一下, 

如何運用它們來達到我們分頁顯示的目的。首先,我們可以為 PageSize 屬性 

設(shè)置一個值,從而指定從記錄組中取出的構(gòu)成一個頁的行數(shù);然后通過 

RecordCount 屬性來確定記錄的總數(shù);再用記錄總數(shù)除以 PageSize 就可得 

到所顯示的頁面總數(shù);最后通過 AbsolutePage 屬性就能完成對指定頁的訪問 

好象很并不復(fù)雜呀,下面讓我們來看看程序該如何實現(xiàn)呢? 

  我們建立這樣一個簡單的 BBS 應(yīng)用程序,它的數(shù)據(jù)庫中分別有以下五個 

字段:“ID”,每個帖子的自動編號;“subject”,每個帖子的主題; 

“name”,加帖用戶的姓名;“email”,用戶的電子郵件地址; 

“postdate”,加帖的時間。數(shù)據(jù)庫的 DSN 為“bbs”。我們將顯示帖子 

分頁的所有步驟放在一個名為“ShowList()”的過程中,方便調(diào)用。 

程序如下: 

'----BBS 顯示帖子分頁---- 

< % Sub ShowList() %> 

< % 

PgSz=20 '設(shè)定開關(guān),指定每一頁所顯示的帖子數(shù)目,默認為20帖一頁 

Set Conn = Server.CreateObject("ADODB.Connection") 

Set RS = Server.CreateObject("ADODB.RecordSet") 

sql = "SELECT * FROM message order by ID DESC" 

'查詢所有帖子,并按帖子的ID倒序排列 

Conn.Open "bbs" 

RS.open sql,Conn,1,1 

If RS.RecordCount=0 then 

response.write "< P>< center>對不起,數(shù)據(jù)庫中沒有相關(guān)信息! 

< /center>< /P>" 

else 

RS.PageSize = Cint(PgSz) '設(shè)定PageSize屬性的值 

Total=INT(RS.recordcount / PgSz * -1)*-1 '計算可顯示頁面的總數(shù) 

PageNo=Request("pageno") 

if PageNo="" Then 

PageNo = 1 

else 

PageNo=PageNo+1 

PageNo=PageNo-1 

end if 

ScrollAction = Request("ScrollAction") 

if ScrollAction = " 上一頁 " Then 

PageNo=PageNo-1 

end if 

if ScrollAction = " 下一頁 " Then 

PageNo=PageNo+1 

end if 

if PageNo < 1 Then 

PageNo = 1 

end if 

n=1 

RS.AbsolutePage = PageNo 

Response.Write "< CENTER>" 

position=RS.PageSize*PageNo 

pagebegin=position-RS.PageSize+1 

if position < RS.RecordCount then 

pagend=position 

else 

pagend= RS.RecordCount 

end if 

Response.Write "< P>< font color='Navy'>< B>數(shù)據(jù)庫查詢結(jié)果:< /B>" 

Response.Write "(共有"&RS.RecordCount &"條符合條件的信息, 

顯示"&pagebegin&"-"&pagend&")< /font>< /p>" 

Response.Write "< TABLE WIDTH=600 BORDER=1 CELLPADDING=4 

CELLSPACING=0 BGCOLOR=#FFFFFF>" 

Response.Write "< TR BGCOLOR=#5FB5E2>< FONT SIZE=2>< TD> 

< B>主題< /B>< /TD>< TD>< B>用戶< /B>< /TD>< TD>< B>Email< /B> 

< /TD>< TD>< B>發(fā)布日期< /B>< /TD>< /FONT>< TR BGCOLOR=#FFFFFF>" 

Do while not (RS is nothing) 

RowCount = RS.PageSize 

Do While Not RS.EOF and rowcount > 0 

If n=1 then 

Response.Write "< TR BGCOLOR=#FFFFFF>" 

ELSE 

Response.Write "< TR BGCOLOR=#EEEEEE>" 

End If 

n=1-n %> 

< TD>< span style="font-size:9pt"> 

< A href='view.asp?key=< % =RS("ID")%>'>< % =RS("subject")%> 

< /A>< /span>< /td> 

< TD>< span style="font-size:9pt"> 

< % =RS("name")%>< /A>< /span>< /td> 

< TD>< span style="font-size:9pt"> 

< a href="mailto:< % =RS("email")%>">< % =RS("email")%>< /a> 

< /span> < /TD> 

< TD>< span style="font-size:9pt"> 

< % =RS("postdate")%>< /span> < /td> 

< /TR> 

< % 

RowCount = RowCount - 1 

RS.MoveNext 

Loop 

set RS = RS.NextRecordSet 

Loop 

Conn.Close 

set rs = nothing 

set Conn = nothing 

%> 

< /TABLE> 

< FORM METHOD=GET ACTION="list.asp"> 

< INPUT TYPE="HIDDEN" NAME="pageno" value="< % =PageNo %>"> 

< % 

if PageNo > 1 Then 

response.write "< INPUT TYPE=SUBMIT NAME='ScrollAction' 

value=' 上一頁 '>" 

end if 

if RowCount = 0 and PageNo < >Total then 

response.write "< INPUT TYPE=SUBMIT NAME='ScrollAction' 

value=' 下一頁 '>" 

end if 

response.write "< /FORM>" 

End if 

%> 

< % End Sub %> 

  相信大家都應(yīng)該能完全讀懂上面的程序,因此就不在此詳細解釋了。 

值得注意的是在這段程序中運用了一個小技巧 < INPUT TYPE="HIDDEN" 

NAME="pageno" value="< % =PageNo %>">,這是用來在每次調(diào)用該 

ASP 文件時傳遞數(shù)據(jù)的“暗道”,由于我們需要在每次調(diào)用程序時傳遞代表 

當(dāng)前頁碼的參數(shù),可能大家會想到使用 session,但是從節(jié)省系統(tǒng)資源和 

通用性來講,用這樣一個隱藏的 form 來傳遞數(shù)據(jù)將會達到更好的效果。 




?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产精品网麻豆系列| 丁香婷婷深情五月亚洲| 97精品久久久午夜一区二区三区 | 久久99久久99| 精品国产91亚洲一区二区三区婷婷| 日韩av成人高清| 精品成人一区二区三区四区| 国产精品一二三四| 国产精品成人在线观看 | 一本色道久久综合亚洲91| 亚洲精品写真福利| 在线电影国产精品| 国产精一区二区三区| 中文字幕在线观看不卡视频| 欧美在线短视频| 麻豆成人在线观看| 国产精品久久久久久久久免费相片| 91免费在线播放| 蜜桃av一区二区在线观看| 国产日韩欧美综合一区| 91精品福利视频| 久久99精品一区二区三区三区| 日本一区二区免费在线观看视频 | 97精品国产97久久久久久久久久久久| 亚洲乱码中文字幕| 欧美电影一区二区| 成人黄动漫网站免费app| 亚洲成人在线免费| 国产三级精品在线| 欧美精品国产精品| 成人性生交大片免费| 日精品一区二区| 国产精品欧美一区喷水| 欧美精品xxxxbbbb| 不卡一二三区首页| 久久精品国产精品亚洲综合| ●精品国产综合乱码久久久久| 91精品国产综合久久久久久漫画| 懂色av一区二区在线播放| 偷拍一区二区三区| 日韩毛片精品高清免费| 亚洲精品在线免费播放| 欧美在线看片a免费观看| 国产白丝精品91爽爽久久| 日一区二区三区| **欧美大码日韩| 久久久亚洲精华液精华液精华液 | 成人综合婷婷国产精品久久蜜臀| 亚洲午夜视频在线观看| 国产精品视频观看| 欧美大片在线观看一区二区| 欧美午夜精品久久久久久孕妇| 国产成人精品免费一区二区| 麻豆久久久久久久| 亚洲1区2区3区视频| 中文字幕一区二区三区在线观看 | 欧美视频中文字幕| 99精品欧美一区二区三区综合在线| 久久精品国产精品亚洲精品| 天堂va蜜桃一区二区三区| 亚洲美女淫视频| 1区2区3区精品视频| 国产亚洲精品超碰| 久久男人中文字幕资源站| 欧美一级日韩一级| 欧美日本在线播放| 欧美日韩国产首页在线观看| 色av一区二区| 色偷偷久久人人79超碰人人澡| 成人h动漫精品一区二| 国产一区二区三区| 韩国精品主播一区二区在线观看 | 亚洲色图欧美偷拍| 国产女同互慰高潮91漫画| 国产亚洲精品福利| 日本一区二区三区久久久久久久久不 | 99久久99久久免费精品蜜臀| 成人在线一区二区三区| 丰满亚洲少妇av| 成人黄页在线观看| 成人美女视频在线看| jlzzjlzz国产精品久久| 本田岬高潮一区二区三区| 91在线观看下载| 色综合天天综合网天天狠天天| 91无套直看片红桃| 欧美在线观看一区| 日韩亚洲欧美一区二区三区| 日韩免费高清av| 国产亚洲婷婷免费| 国产精品美女视频| 一区二区三区四区乱视频| 一区二区三区小说| 日本美女一区二区三区视频| 蜜臀久久久久久久| 国产精品亚洲午夜一区二区三区| 国产成人免费9x9x人网站视频| 丁香婷婷深情五月亚洲| 色悠悠亚洲一区二区| 欧美区视频在线观看| 日韩欧美一区二区久久婷婷| 国产亚洲欧美日韩在线一区| 中文字幕综合网| 日韩中文欧美在线| 国产成人免费在线观看不卡| 色噜噜狠狠一区二区三区果冻| 欧美乱妇15p| 国产午夜亚洲精品理论片色戒| 中文字幕一区二区三| 舔着乳尖日韩一区| 国产xxx精品视频大全| 色猫猫国产区一区二在线视频| 91精品国产手机| 国产精品久久三| 午夜精品国产更新| 高清不卡一二三区| 7799精品视频| 《视频一区视频二区| 男人的天堂久久精品| 成a人片国产精品| 欧美人牲a欧美精品| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲香肠在线观看| 国产ts人妖一区二区| 欧美美女直播网站| 中文字幕日韩一区| 久久99精品国产.久久久久| 精品国产乱码久久| 亚洲黄色av一区| 国产成人精品免费看| 欧美日韩国产综合久久| 中文字幕一区二区三区不卡| 九色porny丨国产精品| 欧美午夜精品免费| 中文字幕五月欧美| 国产69精品久久99不卡| 91精品欧美一区二区三区综合在 | 欧美激情艳妇裸体舞| 视频在线观看一区| 色噜噜久久综合| 国产精品视频第一区| 国产真实乱偷精品视频免| 欧美军同video69gay| 亚洲男人的天堂av| 成人不卡免费av| 久久久久成人黄色影片| 日本不卡123| 欧美高清激情brazzers| 亚洲精品你懂的| 成人精品免费视频| 久久亚洲影视婷婷| 麻豆91精品视频| 欧美一区2区视频在线观看| 《视频一区视频二区| jlzzjlzz亚洲日本少妇| 国产日本一区二区| 国产盗摄女厕一区二区三区| 欧美www视频| 国产真实精品久久二三区| 欧美一区二区三区在线看| 日韩一区欧美二区| 欧美剧情电影在线观看完整版免费励志电影| 成人免费一区二区三区视频 | 色婷婷精品大在线视频| 国产精品每日更新在线播放网址 | 成人av免费观看| 国产精品区一区二区三区| 国产成人亚洲精品青草天美| 久久久高清一区二区三区| 国产麻豆精品视频| 国产欧美精品日韩区二区麻豆天美| 国产一区啦啦啦在线观看| 精品精品国产高清一毛片一天堂| 免费观看日韩电影| 日韩欧美激情一区| 久久se精品一区精品二区| 精品国产91洋老外米糕| 国产一二三精品| 国产精品久久久久久久久免费相片| 成人app软件下载大全免费| 专区另类欧美日韩| 亚洲国产激情av| 国产成人免费视频| 亚洲人精品午夜| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 一区二区在线观看不卡| 欧美男女性生活在线直播观看| 日韩综合在线视频| 欧美精品一区二区三区久久久| 国产精品白丝av| 椎名由奈av一区二区三区| 欧美色涩在线第一页| 麻豆国产精品官网| 国产三级三级三级精品8ⅰ区| 99久久99久久精品免费观看| 亚洲午夜私人影院| 精品国产免费久久| 91麻豆.com| 蜜臀av一区二区在线免费观看| 欧美国产在线观看|