專利名稱:數(shù)據(jù)分頁顯示的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)分頁顯示的方法。
背景技術(shù):
數(shù)據(jù)顯示是數(shù)據(jù)應(yīng)用的一個重要組成部分。分頁顯示是數(shù)據(jù)顯示的常用手段。
目前常用的數(shù)據(jù)表結(jié)構(gòu)及記錄方式如下表1
數(shù)據(jù)表由若干字段組成其中常用的ID字段是自動編號,在每加入一條新記錄時該字段值會自動進行遞增(減)賦值。另一個常用的字段是記錄最后更新時間信息。
目前分頁顯示常用的方法有如下幾種:
1、按ID號計算面頁的ID區(qū)間值的方法,如每頁顯示5條,則第1頁的ID區(qū)間為1-5,第2頁為6-10,如些類推。在讀取一頁數(shù)據(jù)時只需從數(shù)據(jù)表中取得其中ID號>=最小ID號,并<=最大ID號的記錄。
這種方法需要一些特定的條件(1)ID號需要連續(xù),如果中間有刪除的記錄,由于ID號不重排特性,讀取有刪除記錄的ID區(qū)間時數(shù)據(jù)不準確。
(2)數(shù)據(jù)內(nèi)容不能分類分頁選取,從表1可以看出,分類內(nèi)容中的ID不是連續(xù)排列的,無法確定ID區(qū)間。
(3)經(jīng)常地,為了將最新的內(nèi)容顯示在最前面,一般會使用最后ID或者最后更新時間倒序排列,如表1將排列為如下表2情況。
表2
經(jīng)常地由于特定的需要,數(shù)據(jù)表中的某一記錄內(nèi)容被更新后,將排在最前面顯示,例如表2中的1號ID記錄如果被更新,則最后更新時間字段的內(nèi)容將變更為最后更新時間,數(shù)據(jù)表的排列將變?yōu)槿缦卤?情況表3
從表3可以看到,更新后的數(shù)據(jù)ID號不連續(xù),當不斷進行數(shù)據(jù)更新后,ID號排列沒有規(guī)律,無法進行按ID號區(qū)間進行分頁。
2、使用一些具備分頁功能的方法,例如使用微軟數(shù)據(jù)定位功能的RecordSet,可以按選取的內(nèi)容進行分頁,自動定位每頁的記錄集,但該方法需要加載所有數(shù)據(jù)記錄的指針,因此比較浪費系統(tǒng)資源,打開數(shù)據(jù)表所用的時間也較多。隨著打開數(shù)據(jù)量的增大,當達到一定程度時,將導(dǎo)致打開時間非常慢長或超出系統(tǒng)的限定資源值。實驗中,采用P4 1G普通微機Windows2003IIS,定位打開一個有12萬條記錄的Access數(shù)據(jù)表的其中一頁(20條記錄),系統(tǒng)顯示超出資源限定值,無法運行。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是克服上述現(xiàn)有技術(shù)存在的不足,提供一種有效降低系統(tǒng)資源消耗、節(jié)省數(shù)據(jù)顯示時間的數(shù)據(jù)分頁顯示的方法。
為解決上述技術(shù)問題,本發(fā)明提供一種數(shù)據(jù)分頁顯示的方法,包括以下步驟(1)設(shè)定每頁顯示的數(shù)據(jù)記錄數(shù);(2)對數(shù)據(jù)進行頁號處理;以及(3)如果某頁顯示的數(shù)據(jù)多于設(shè)定的記錄數(shù),則將多出的數(shù)據(jù)的頁號變更為下一頁的頁號。
所述步驟(2)進一步包括(21)對數(shù)據(jù)進行分類;(22)在數(shù)據(jù)表中加入記錄頁序的頁號字段;以及(23)對各分類數(shù)據(jù)進行頁號處理,按照設(shè)定的每頁顯示數(shù)據(jù)記錄數(shù)給數(shù)據(jù)設(shè)定頁號值。
本發(fā)明具有以下有益的效果采用本方法,無論打開數(shù)據(jù)表的哪一頁,都只選取指定頁號的記錄,系統(tǒng)資源消耗低,同時,由于頁號字段的數(shù)據(jù)簡單,作為檢索條件時,程度判斷速度極快。
圖1是本發(fā)明數(shù)據(jù)分頁顯示的方法的流程圖。
具體實施例方式
以下結(jié)合圖1對本發(fā)明數(shù)據(jù)分頁顯示的方法進行詳細描述。
本發(fā)明數(shù)據(jù)分頁顯示的方法包括以下步驟(1)設(shè)定每頁顯示的數(shù)據(jù)記錄數(shù);(2)對數(shù)據(jù)進行頁號處理;以及(3)如果某頁顯示的數(shù)據(jù)多于設(shè)定的記錄數(shù),則將多出的數(shù)據(jù)的頁號變更為下一頁的頁號。
首先,根據(jù)實際需要,對每頁需要顯示的數(shù)據(jù)記錄數(shù)進行設(shè)定。
其次,改進數(shù)據(jù)表結(jié)構(gòu),在數(shù)據(jù)表中加入記錄頁序的字段,如下表4中的“頁號”字段表4
按分類、時間、頁號為索引,則得到下列的數(shù)據(jù)表排列表5
實際操作中,首先對數(shù)據(jù)表進行(各分類)數(shù)據(jù)的頁號處理,使其按照設(shè)定的每頁顯示記錄條數(shù)賦上對應(yīng)的頁號值。如上表中,假設(shè)分類1數(shù)據(jù)第1頁已有5條記錄,設(shè)定每頁顯示5條記錄,當有新記錄加入(或更新現(xiàn)有非第1頁的記錄時),該條記錄的頁號設(shè)為1,那么此時,第1頁將有6條記錄。當有用戶打開第1頁時,選取頁號為1的記錄(共6條),當顯示到第6條(超過設(shè)定值)記錄時,將其頁號改為2,此時1頁恢復(fù)為5條記錄,而2頁則增加1條記錄。同理當打開2頁時,如果超過設(shè)定的每頁顯示記錄數(shù),則超過的記錄的頁號會變更為下一頁的頁號,如此類推。
采用本方法,無論打開數(shù)據(jù)表的哪一頁,都只選取指定的頁號記錄,系統(tǒng)資源消耗低,同時,由于頁號字段的數(shù)據(jù)簡單,作為檢索條件時,程序判斷速度極快,因此數(shù)據(jù)量的增長對于數(shù)據(jù)打開速度無明顯的增加。
本方法具有極大的實用意義。例如應(yīng)用于網(wǎng)站新聞發(fā)布或BBS等數(shù)據(jù)處理時,特別是中小型數(shù)據(jù)處理甚至大型數(shù)據(jù)處理(過10萬條記錄),一般需要使用SQL等高級數(shù)據(jù)庫才能運行或?qū)崿F(xiàn)較好的打開數(shù)據(jù)速度,至使營運成本提高。而使用本方法,實驗中,以普通P4微機,windows2003 IIS打開一12萬條記錄的Access數(shù)據(jù)表中任一頁(20條記錄),所需時間只有幾十毫秒。
因此,使用本方法,能有效地降低系統(tǒng)資源消耗,高效地進行數(shù)據(jù)的分頁管理操作,對于節(jié)約數(shù)據(jù)管理方面的社會資源和運作成本有著重大的意義。
權(quán)利要求
1.一種數(shù)據(jù)分頁顯示的方法,包括以下步驟(1)設(shè)定每頁顯示的數(shù)據(jù)記錄數(shù);(2)對數(shù)據(jù)進行頁號處理;以及(3)如果某頁顯示的數(shù)據(jù)多于設(shè)定的記錄數(shù),則將多出的數(shù)據(jù)的頁號變更為下一頁的頁號。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟(2)進一步包括(21)對數(shù)據(jù)進行分類;(22)在數(shù)據(jù)表中加入記錄頁序的頁號字段;以及(23)對各分類數(shù)據(jù)進行頁號處理,按照設(shè)定的每頁顯示數(shù)據(jù)記錄數(shù)給數(shù)據(jù)設(shè)定頁號值。
全文摘要
本發(fā)明提供一種數(shù)據(jù)分頁顯示的方法,包括以下步驟(1)設(shè)定每頁顯示的數(shù)據(jù)記錄數(shù);(2)對數(shù)據(jù)進行頁號處理;以及(3)如果某頁顯示的數(shù)據(jù)多于設(shè)定的記錄數(shù),則將多出的數(shù)據(jù)的頁號變更為下一頁的頁號。采用本方法,無論打開數(shù)據(jù)表的哪一段頁號記錄,都只選取指定頁號的數(shù)據(jù)記錄,系統(tǒng)資源消耗低,同時,由于頁號字段的數(shù)據(jù)簡單,作為檢索條件時,程序判斷速度極快。
文檔編號G06F17/30GK101030203SQ20061003415
公開日2007年9月5日 申請日期2006年3月4日 優(yōu)先權(quán)日2006年3月4日
發(fā)明者李勇堅 申請人:李勇堅