IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁網(wǎng)絡(luò)編程Asp編程 → ASP教程:不連數(shù)據(jù)庫進(jìn)行查詢分頁的思路

ASP教程:不連數(shù)據(jù)庫進(jìn)行查詢分頁的思路

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

看了不少介紹,知道set rs=conn.execute(sql)的執(zhí)行效率比rs.open sql,conn,1,1要高很多,但是set rs=conn.execute(sql)這種執(zhí)行方式也有很多不足,首先它不具有分頁屬性,比如rs.pagesize,rs,absolutepage等屬性,這樣的話,通過這種方式set rs=conn.execute(sql)執(zhí)行的速度雖然快了,但是卻不能按普通方式進(jìn)行分頁,怎么辦呢??

第二天,查了一下網(wǎng)上的資料,突然想到是否可以把所需數(shù)據(jù)提到一個數(shù)組里,然后對數(shù)組進(jìn)行分頁呢?首先把set rs=conn.execute(sql)查詢出來的結(jié)果通過rs.getrows()取出來附給一個數(shù)組,于是我就在各網(wǎng)站上找分頁的帖子,雖然發(fā)現(xiàn)不少高效率分頁的帖子(包括存儲過程等),可結(jié)果發(fā)現(xiàn)全都是需要通過SQL執(zhí)行的,即翻頁的時候也需要執(zhí)行SQL語句,此時頭都暈了,優(yōu)化的也只是SQL語句,此時實在沒辦法,只好自己努力了!終于完成了一個數(shù)組分頁的粗稿,代碼不是很完善,讓大家一起來研究一下!代碼如下:
首先有一個index.asp查詢頁:




無標(biāo)題文?�






??




search.asp的代碼:




無標(biāo)題文?�


<%
If request.querystring("act")="cha" Then
search_type=request.FORM("ChannelID")
keywords=request.form("keyword")
if search_type="k1" then '按照留言內(nèi)容搜索
sql="select * from gbook_rec where g_content like '%"&keywords&"%'"
ElseIf search_type="k2" then
'if search_type="k2" then '按照留言人搜?�
sql="select * from gbook_rec where g_name like '%"&keywords&"%'"
Else
response.end
end If
Set rs=conn.execute(sql)
If??rs.eof And rs.bof Then
%>

<%
response.End
Else
aResults=rs.getrows()'取出數(shù)據(jù)放入數(shù)組ROW?�
application("data")=aResults
Set rs=nothing
conn.close '關(guān)閉數(shù)據(jù)?�
End IF
End If

aResults=application("data")
Dim i,row,pagesize,epage,numb,pagecount,fenye
numb=UBound(aResults,2)+1 '總記錄行?�
pagesize=2 '每頁條數(shù)

If numb Mod pagesize = 0 Then '判斷總頁?�
pagecount=Int(numb/pagesize)
Else
pagecount=Int(numb/pagesize)+1
End If

epage=request.querystring("page")

If epage="" Then epage=1????

For i=(epage-1)*pagesize To epage*pagesize-1
If i>UBound(aResults,2) Or i<0 Then Exit for
%>

  • 記錄<%=i+1%>

  • ??
  • 留言人:<%=aResults(1,i)%>

  • ??
  • 內(nèi)容?�<%=aResults(2,i)%>

  • ??
  • 時間:<%=aResults(3,i)%>

  • ??
  • IP:<%=aResults(5,i)%>



<%
Next
If numb>pagesize Then
fenye="首頁??"
fenye=fenye&"前頁??"
fenye=fenye&"后頁??"
fenye=fenye&"末頁??"
fenye=fenye&"
"
fenye=fenye&"總頁?�"&pagecount&",當(dāng)前頁"&epage&",總記錄為?�"&numb
response.write fenye
End if
%>

總結(jié):本人認(rèn)為以上代碼除了初次查詢需要連接到數(shù)據(jù)庫外,其他時間都不需要連接數(shù)據(jù)庫,對于大型數(shù)據(jù)查詢或連接人數(shù)比較多的時候?qū)Y源節(jié)省還是很有用處理的!另外將查詢數(shù)組保存在application對象上,還可以根據(jù)application( "data")("username")來判斷某人查詢過什么,不過此代碼為初次模型,還有待今后大家一起努力改進(jìn)!希望大家都頂力關(guān)注支持,謝謝?�

關(guān)鍵詞標(biāo)簽:查詢,思路,進(jìn)行,數(shù)據(jù)?�

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 ASP編程代碼:隱藏圖片的真實地址 ASP編程代碼:隱藏圖片的真實地址 ASP教程:0177:800401f3錯誤解決 ASP教程:0177:800401f3錯誤解決 ASP代碼中如何屏蔽ip地址 禁止某IP段訪問網(wǎng)站 ASP代碼中如何屏蔽ip地址 禁止某IP段訪問網(wǎng)?� 錯誤80004005信息處理方法 錯誤80004005信息處理方法

相關(guān)下載

    人氣排行 ASP下標(biāo)越界的解決方?� ASP代碼中如何屏蔽ip地址 禁止某IP段訪問網(wǎng)?� “文件共享鎖定數(shù)溢出?� 原因及解決方?� 無法寫入數(shù)據(jù)庫的解決方法 ASP教程:0177:800401f3錯誤解決 ASP常用函數(shù)列表 如何用ASP來獲取客戶端真實IP的地址 ASP用FSO生成HTML簡單實?�+詳解[原創(chuàng)]