ADO存取數(shù)據(jù)時如何完成留言記錄的分頁顯示
發(fā)表時間:2024-02-11 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]我們知道:對于一個留言簿,如果我們只讓上網(wǎng)者能看到自己的留言而看不到其他人的留言,那么這類留言簿也就只能適用于某些特殊的地方(例如“客戶意見返饋表”或“投訴留言”之類的留言,因為假如你是老板的話,你也不會愿意將自己的“傷疤”隨便揭開給人看)。因此我們必須令每一位上網(wǎng)者都能看到留言簿中的所有留言。為...
我們知道:對于一個留言簿,如果我們只讓上網(wǎng)者能看到自己的留言而看不到其他人的留言,那么這類留言簿也就只能適用于某些特殊的地方(例如“客戶意見返饋表”或“投訴留言”之類的留言,因為假如你是老板的話,你也不會愿意將自己的“傷疤”隨便揭開給人看)。因此我們必須令每一位上網(wǎng)者都能看到留言簿中的所有留言。為了提高頁面的讀取速度,我們將留言簿中的留言分成多頁來顯示,每頁顯示一定數(shù)目的留言數(shù),譬如5條。
講了這許多,那么到底如何實現(xiàn)留言記錄的分頁顯示功能呢?如果我們對ADO的Recordset對象清楚的話,其實實現(xiàn)起來并不難。因為進行ADO存取數(shù)據(jù)庫時的分頁顯示,就是對Recordset的記錄進行操作。因此在沒講解程序之前,我覺得很有必要先給大家介紹一下有關(guān)Recordset對象方面的知識。
主要的ADO對象有三個:Connection、Command和Recordset。Connection對象能夠建立數(shù)據(jù)與應(yīng)用程序之間的聯(lián)系,在建立聯(lián)系后,Command和Recordset對象用來要求、存儲或更新數(shù)據(jù)。Command對象主要擔(dān)任數(shù)據(jù)庫查詢(Database Query)的角色,而
Recordset對象則是三者之中最為特別,功能亦最為強大,由數(shù)據(jù)取得的數(shù)據(jù)集合就存儲于Recordset中,該返回的Recordset數(shù)據(jù)集合取得后再通過服務(wù)器端的腳本語言環(huán)境加于處理、分析、顯示數(shù)據(jù)于客戶瀏覽器上。
現(xiàn)將Recordset對象所提供的所有內(nèi)部屬性與其功能簡述羅列如下:
AbsolutePage屬性--目前的絕對數(shù)據(jù)頁位置
AbsolutePosition屬性--目前的絕對數(shù)據(jù)位置
ActiveConnection屬性--與Connection、Command對象主動鏈接
BOF屬性--數(shù)據(jù)集的開頭邊界
Bookmark屬性--提供游標(biāo)位置的書簽功能
CacheSize屬性--Recordset內(nèi)數(shù)據(jù)所暫存的內(nèi)存大小
CursorLocation屬性--控制游標(biāo)的類型為服務(wù)器端或客戶端
CursorType屬性--控制如何由服務(wù)器端數(shù)據(jù)庫取回數(shù)據(jù)
EOF屬性--記錄集的結(jié)尾邊界
EditMode屬性--控制目前數(shù)據(jù)的處理狀態(tài)
Filter屬性--控制欲顯示或隱藏的數(shù)據(jù)內(nèi)容
LockType屬性--控制數(shù)據(jù)更新的模式
MaxRecords屬性--允許由服務(wù)器端取回的最大記錄行數(shù)目
PageCount屬性--數(shù)據(jù)頁總數(shù)
PageSize屬性--控制每一數(shù)據(jù)頁內(nèi)的記錄行
RecordCount屬性--由服務(wù)器端取回的記錄行總數(shù)
Source屬性--數(shù)據(jù)查詢信息
Status屬性--最近一行數(shù)據(jù)處理后的狀態(tài)或信息
在了解了Recordset對象的以上屬性和方法后,我們開始來學(xué)習(xí)如何實現(xiàn)留言記錄的分頁顯示功能。在以下的學(xué)習(xí)當(dāng)中,前面幾章已學(xué)過的知識我在這里就不再贅述,我們只在這里重點學(xué)習(xí)處理留言記錄分頁的page2.asp文件。
'調(diào)用adovbs.inc文件和留言頁面self2.asp。
'-=此處已略去Web頁面的HTML代碼,具體內(nèi)容可下載源代碼后查看=-
返回留言表單
<%
If Page <> 1 Then
Response.Write "< a="" href="page2.asp?Page=1">第一頁<>"
Response.Write "< a="" href="page2.asp?Page=" "="" &="" (page-1)="" &="" "="">上一頁<>"
End If
If Page <> rs.PageCount Then
Response.Write "< a="" href="page2.asp?Page=" "="" &="" (page+1)="" &="" "="">下一頁<>" Response.Write "< a="" href="page2.asp?Page=" "="" &="" rs.pagecount="" &="" "="">最后一頁
<>"
End If
%>
頁數(shù):<%=Page%>/<%=rs.PageCount%>
'<%=Page%>表示當(dāng)前所在的頁碼,<%=rs.PageCount%>表示數(shù)據(jù)頁的總數(shù)。