ASP分頁顯示詳論

2021-03-31 08:56:30 字數 2621 閱讀 5153

但主要有兩種:

一、將資料庫中所有符合查詢條件的記錄一次性的都讀入 recordset 中,

存放在記憶體中,然後通過 ado recordset 物件所提供的幾個專門支援分頁處

理的屬性: pagesize( 頁大小 )、 pagecount( 頁數目 ) 以及

absolutepage( 絕對頁 ) 來管理分頁處理。

二、根據客戶的指示,每次分別從符合查詢條件的記錄中將規定數目的記

錄數讀取出來並顯示。

兩者的主要差別在於前者是一次性將所有記錄都讀入記憶體然後再根據指示

來依次做判斷分析從而達到分頁顯示的效果,而後者是先根據指示做出判斷並

將規定數目的符合查詢條件的記錄讀入記憶體,從而直接達到分頁顯示的功能。

rs.move numrecords,start

這裡的「rs」為乙個物件變數,表示乙個想要移動當當前記錄位置的

recordset 物件;「numrecords」是乙個正負數表示式,設定當前記錄位置

的移動數目;「start」是乙個可選的專案,用來指定記錄起始的標籤。

所有的 recordset 物件都支援 move 方法,如果 numrecords 引數

大於零,當前記錄位置向末尾的方向移動;如果其小於零,則當前記錄位置

向開頭的方向移動;如果乙個空的 recordset 物件呼叫 move 方法,將會

產生乙個錯誤。

movefirst 方法:將當前記錄位置移至第一筆記錄。

movelast 方法:將當前記錄位置移至最後一筆記錄。

movenext 方法:將當前記錄位置移至下一筆記錄。

moveprevious 方法:將當前記錄位置移至上一筆記錄。

move [n] 方法:移動指標到第 n 筆記錄, n 由 0 算起。

三、 absolutepage 屬性

absolutepage 屬性設定當前記錄的位置是位於哪一頁的頁數編號;

使用 pagesize 屬性將 recordset 物件分割為邏輯上的頁數,每一頁的記錄

數為 pagesize( 除了最後一頁可能會有少於 pagesize 的記錄數 )。這裡

必須注意並不是所有的資料提供者都支援此項屬性,因此使用時要小心。

與 absoluteposition 屬性相同, absolutepage 屬性是以 1 為起始

的,若當前記錄為 recordset 的第一行記錄, absolutepage 為 1。可以

設定 absolutepage 屬性,以移動到乙個指定頁的第一行記錄位置。

四、 absoluteposition 屬性

若您需要確定目前指標在 recordset 中的位置,您可以用

absoluteposition 屬性。

absoluteposition 屬性的數值為目前指標相對於第一筆的位置,由 1

算起,即第一筆的 absoluteposition 為 1。

注意 , 在訪問 recordset 時,無法保證 recordset 每次都以同樣的

順序出現。

若要啟用 absoluteposition,必須先設定為使用使用者端

cursor( 指標 ), asp 碼如下:

rs2.cursorlocation = 3

五、 pagecount 屬性

使用 pagecount 屬性,決定 recordset 物件包括多少「頁」的資料。

這裡的「頁」是資料記錄的集合,大小等於 pagesize 屬性的設定,即使最後

一頁的記錄數比 pagesize 的值少,最後一頁也算是 pagecount 的一頁。

必須注意也並不是所有的資料提供者都支援此項屬性。

六、 pagesize 屬性

pagesize 屬性是決定 ado 訪問資料庫時如何分頁顯示的關鍵,使用它

就可以決定多少記錄組成乙個邏輯上的「一頁」。設定並建立乙個頁的大小,

從而允許使用 absolutepage 屬性移到其它邏輯頁的第一條記錄。

pagesize 屬效能隨時被設定。

七、 recordcount 屬性

這也是乙個非常常用和重要的屬性,我們常用 recordcount 屬性來找出

乙個 recordset 物件包括多少條記錄。如:

< % totle=rs.recordcount %>

在了解了 recordset 物件的以上屬性和方法後,我們來考慮一下,

如何運用它們來達到我們分頁顯示的目的。首先,我們可以為 pagesize 屬性

設定乙個值,從而指定從記錄組中取出的構成乙個頁的行數;然後通過

recordcount 屬性來確定記錄的總數;再用記錄總數除以 pagesize 就可得

到所顯示的頁面總數;最後通過 absolutepage 屬性就能完成對指定頁的訪問

好象很並不複雜呀,下面讓我們來看看程式該如何實現呢?

我們建立這樣乙個簡單的 bbs 應用程式,它的資料庫中分別有以下五個

字段:「id」,每個帖子的自動編號;「subject」,每個帖子的主題;

「name」,加帖使用者的姓名;「email」,使用者的電子郵件位址;

「postdate」,加帖的時間。資料庫的 dsn 為「bbs」。我們將顯示帖子

分頁的所有步驟放在乙個名為「showlist()」的過程中,方便呼叫。

程式如下:

用ASP實現長文章用分頁符來分頁顯示

長文章頁用分頁符來顯示,想用asp也實現這種功能,可發現只有根據字數進行分頁的方法,但這種方法有乙個bug,就是如果你文章內容中如果有ubb 它很容易造成在 code code 之間進行分頁,或者乾脆就把 code 分解成了 co和de 這樣文章顯示就會出現錯誤。以下幾個步驟將能夠完全實現。第一步 ...

asp分頁系統

asp分頁系統 引數處理,並把相應 插入code 分頁 和mdbsql 資料庫查詢 中 sub s keyword s value keyword s value 建議先對keyword進行處理 if keyword then code code keyword keyword text split...

ASP內容分頁

利用統計文章字數,然後達到一定字數就截斷輸出,但是分頁的內容就會在莫名其妙的地方截斷,不是很友好。很簡單,在要截斷的地方附近找下面的符號 如果後面存在或 就分頁。主要是要研究文章的格式。if request.servervariables content length 0 then content ...