ASP分頁效果之優化_ASP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:ASP 與ASP有什么不同在以前的文章中我們認識到ASP 是一個完整的操作系統的一部分。但是為什么ASP 不同于以前版本的ASP?他們之間到底有什么不同?如果你僅僅是運行一些頁面或應用程序,那么你可能完全不會注意到他
學習ASP時,必不可少的就是用到增、刪、改、查四大操作。最麻煩的就是把數據庫里的數據輸出到客戶端。數據很少的時候,比如一個數據庫中就有幾條,這樣直接輸出就可以了。但如果數據很多的時候,只靠SQL的優化就不能完成查詢了。
那么,怎樣才能優化查詢結果呢?也許我們會想到分頁,對,ASP內置組件給我們提供了RecordSet 對象,我們可以利用這個對象的幾個屬性,就能很方便地得到自己想要的結果了。
大部分學過ASP的朋友都能寫出分頁代碼,那好吧,我們也這樣寫。
假設我們已經連上數據庫。
<!--#include file="conn.asp" --> '把數據庫連接字符串包含過來
rs.pagesize=10 '設置每頁顯示10條記錄
page=cint(request("page")) '使用queryscring獲取當前前數
if page<1 then page=1 '當頁數小于1時顯示第一頁
if page>rs.pagecount then page=rs.pagecount '當頁數大于最后一頁時顯示最后一頁
myself=request.serververiables("path_info") '獲取當前頁的相對路徑
if page>1 then rs.absolutepage=page '如果頁數大于1則顯示絕對頁數
'循環輸出頁數
for i=1 to rs.pagecount
if rs.eof then exit for '記錄在最后一條的后面退出循環
if i=page then
response.write " | "&i&" | "
else
response.write " | <a href="&myself&"/page="&i&">"&i&"</a> | "
end if
end for
'循環輸出記錄條數
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
'關閉數據庫以及連接
rs.close
conn.close
set conn=nothing
set rs=nothing
但是,這樣并不能達到最佳優化。如果我們在page后面這樣輸入:page=adsf 。我們就會看到出錯結果,因為cint函數不能把字符串轉換為整數。有時你會看到沒有錯誤,那是因為你在數據庫連接時寫了這樣的語句:on error resume next 。意思就是當程序出錯時不影響其他語句繼續執行。如果我們把這段代碼給刪了,就會錯誤。所以,我們就考慮,怎樣才能不錯誤呢?我們可以把這樣的語句:
page=cint(request("page"))
這樣寫:
page=strim(request("page"))
if IsNumeric(page) then
page=cint(page)
else
page=1
end if
if IsNumeric(page) then
page=cint(page)
else
page=1
end if
這樣,當我們輸入數字時,不管是小數還是其他的數,它都會轉換為整數,當我們輸入的是非數字時,page就等于1,這樣就保證了程序不會出錯了!
分享:簡單WEB開發規范一.頁面設計部分 1.img控件 alt:所有展示類圖片都要具有能簡要描述圖片內容的文字說明。 2.Input控件 maxlength:所有INPUT控件都需要制定maxlength屬性,默認值為數據庫中對應的字段的長度。
相關ASP教程:
- 相關鏈接:
- 教程說明:
ASP教程-ASP分頁效果之優化
。