ASP分頁(yè)效果之優(yōu)化_ASP教程
推薦:ASP 與ASP有什么不同在以前的文章中我們認(rèn)識(shí)到ASP 是一個(gè)完整的操作系統(tǒng)的一部分。但是為什么ASP 不同于以前版本的ASP?他們之間到底有什么不同?如果你僅僅是運(yùn)行一些頁(yè)面或應(yīng)用程序,那么你可能完全不會(huì)注意到他
學(xué)習(xí)ASP時(shí),必不可少的就是用到增、刪、改、查四大操作。最麻煩的就是把數(shù)據(jù)庫(kù)里的數(shù)據(jù)輸出到客戶端。數(shù)據(jù)很少的時(shí)候,比如一個(gè)數(shù)據(jù)庫(kù)中就有幾條,這樣直接輸出就可以了。但如果數(shù)據(jù)很多的時(shí)候,只靠SQL的優(yōu)化就不能完成查詢了。
那么,怎樣才能優(yōu)化查詢結(jié)果呢?也許我們會(huì)想到分頁(yè),對(duì),ASP內(nèi)置組件給我們提供了RecordSet 對(duì)象,我們可以利用這個(gè)對(duì)象的幾個(gè)屬性,就能很方便地得到自己想要的結(jié)果了。
大部分學(xué)過(guò)ASP的朋友都能寫出分頁(yè)代碼,那好吧,我們也這樣寫。
假設(shè)我們已經(jīng)連上數(shù)據(jù)庫(kù)。
<!--#include file="conn.asp" --> '把數(shù)據(jù)庫(kù)連接字符串包含過(guò)來(lái)
rs.pagesize=10 '設(shè)置每頁(yè)顯示10條記錄
page=cint(request("page")) '使用queryscring獲取當(dāng)前前數(shù)
if page<1 then page=1 '當(dāng)頁(yè)數(shù)小于1時(shí)顯示第一頁(yè)
if page>rs.pagecount then page=rs.pagecount '當(dāng)頁(yè)數(shù)大于最后一頁(yè)時(shí)顯示最后一頁(yè)
myself=request.serververiables("path_info") '獲取當(dāng)前頁(yè)的相對(duì)路徑
if page>1 then rs.absolutepage=page '如果頁(yè)數(shù)大于1則顯示絕對(duì)頁(yè)數(shù)
'循環(huán)輸出頁(yè)數(shù)
for i=1 to rs.pagecount
if rs.eof then exit for '記錄在最后一條的后面退出循環(huán)
if i=page then
response.write " | "&i&" | "
else
response.write " | <a href="&myself&"/page="&i&">"&i&"</a> | "
end if
end for
'循環(huán)輸出記錄條數(shù)
for i=1 to rs.pagesize
if rs.eof then exit for
response.write rs("id")
response.write rs("user")
response.write rs("pwd")
rs.movenext
end for
'關(guān)閉數(shù)據(jù)庫(kù)以及連接
rs.close
conn.close
set conn=nothing
set rs=nothing
但是,這樣并不能達(dá)到最佳優(yōu)化。如果我們?cè)趐age后面這樣輸入:page=adsf 。我們就會(huì)看到出錯(cuò)結(jié)果,因?yàn)閏int函數(shù)不能把字符串轉(zhuǎn)換為整數(shù)。有時(shí)你會(huì)看到?jīng)]有錯(cuò)誤,那是因?yàn)槟阍跀?shù)據(jù)庫(kù)連接時(shí)寫了這樣的語(yǔ)句:on error resume next 。意思就是當(dāng)程序出錯(cuò)時(shí)不影響其他語(yǔ)句繼續(xù)執(zhí)行。如果我們把這段代碼給刪了,就會(huì)錯(cuò)誤。所以,我們就考慮,怎樣才能不錯(cuò)誤呢?我們可以把這樣的語(yǔ)句:
這樣寫:
if IsNumeric(page) then
page=cint(page)
else
page=1
end if
這樣,當(dāng)我們輸入數(shù)字時(shí),不管是小數(shù)還是其他的數(shù),它都會(huì)轉(zhuǎn)換為整數(shù),當(dāng)我們輸入的是非數(shù)字時(shí),page就等于1,這樣就保證了程序不會(huì)出錯(cuò)了!
分享:簡(jiǎn)單WEB開(kāi)發(fā)規(guī)范一.頁(yè)面設(shè)計(jì)部分 1.img控件 alt:所有展示類圖片都要具有能簡(jiǎn)要描述圖片內(nèi)容的文字說(shuō)明。 2.Input控件 maxlength:所有INPUT控件都需要制定maxlength屬性,默認(rèn)值為數(shù)據(jù)庫(kù)中對(duì)應(yīng)的字段的長(zhǎng)度。
- asp FSO 讀寫文件本文件實(shí)現(xiàn)代碼
- asp中isNull、isEmpty和空字符串的區(qū)別
- asp獲取用戶真實(shí)IP地址的方法
- asp連接sqlserver數(shù)據(jù)庫(kù)實(shí)現(xiàn)代碼
- asp中正則表達(dá)式過(guò)濾html代碼函數(shù)
- asp中g(shù)et post提交表單區(qū)別
- 網(wǎng)頁(yè)模板:ASP內(nèi)建對(duì)象Request
- xmlhttp的open方法使用詳解
- ASP的常用的自定義函數(shù)大全
- asp中用for循環(huán)的一個(gè)小技巧
- eWebEditor v3.8 列目錄
- ASP無(wú)組件分頁(yè)實(shí)現(xiàn)思路及代碼
- 相關(guān)鏈接:
- 教程說(shuō)明:
ASP教程-ASP分頁(yè)效果之優(yōu)化
。