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