您現在的位置是:電腦技術吧?>? 編程技術 ??>??數據庫存取錯誤,java存取數據庫的包??>??正文詳情

數據庫存取錯誤,java存取數據庫的包

晏彤蕊2019-12-18 16:22:37 人圍觀
簡介數據庫特點ADO訪問數據庫時是否顯示頁面?如果你目前已經在很多網站上使用過電子公告板程序,你應該知道,為了提高頁面的閱讀速度,電子公告板程序一般不會把所有的帖子都列在

ADO 存取數據庫時的分頁顯示?如果你使用過目前眾多網站上的電子公告板程序的話,那你應該會知道電子公告板程序為了提高頁面的讀取速度,一般不會將所有的帖子全部在一頁中羅列出來,而是將其分成多頁顯示,每頁顯示一定數目的帖子數,譬如 20 條。

想不想了解如何實現分頁顯示?請看本文!  動態網站設計十八般武藝 --ASP 篇一文從第一期至今已和朋友們一起度過了大半個年頭,相信通過在這一段時間中的學習、實踐到再學習、再實踐,大家已經能夠熟練運用 ASP 的內建對象、 ActiveX 組件去編寫一些基本的 ASP 應用程序。

從我收到的朋友們的來信中可以明顯的感覺到,大家的 ASP 功力正不斷地提升。

最近很多朋友來信希望我寫一些 ASP 在現實運用中的實例。

因此,從本期開始我決定將動態網站設計十八般武藝 --ASP 篇的定位從介紹和學習 ASP 基礎知識轉向到 ASP 實際運行的探討和深化。

應朋友們的要求,在本期中我將給大家著重談一談ADO 存取數據庫時如何分頁顯示的問題。

  什么是 ADO 存取數據庫時的分頁顯示?如果你使用過目前眾多網站上的電子公告板程序的話,那你應該會知道電子公告板程序為了提高頁面的讀取速度,一般不會將所有的帖子全部在一頁中羅列出來,而是將其分成多頁顯示,每頁顯示一定數目的帖子數,譬如 20 條。

這就是數據庫查詢的分頁顯示,如果你還不明白,去看看 yahoo 等搜索引擎的查詢結果就會明白了。

  那么究竟如何才能做到將數據庫的查詢結果分頁顯示呢?其實方法有很多,但主要有兩種:  一、將數據庫中所有符合查詢條件的記錄一次性的都讀入 recordset 中,存放在內存中,然后通過 ADO Recordset 對象所提供的幾個專門支持分頁處理的屬性: PageSize( 頁大小 )、 PageCount( 頁數目 ) 以及 AbsolutePage( 絕對頁 ) 來管理分頁處理。

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

  兩者的主要差別在于前者是一次性將所有記錄都讀入內存然后再根據指示來依次做判斷分析從而達到分頁顯示的效果,而后者是先根據指示做出判斷并將規定數目的符合查詢條件的記錄讀入內存,從而直接達到分頁顯示的功能。

  我們可以很明顯的感覺到,當數據庫中的記錄數達到上萬或更多時,第一種方法的執行效率將明顯低于第二種方法,因為當每一個客戶查詢頁面時都要將所有符合條件的記 娣旁詵?衿髂詿嬤校?緩笤誚?蟹忠車卻恚?綣??庇諧?? 100 個的客戶在線查詢,那么 ASP 應用程序的執行效率將大受影響。

但是,當服務器上數據庫的記錄數以及同時在線的人數并不是很多時,兩者在執行效率上是相差無幾的,此時一般就采用第一種方法,因為第一種方法的 ASP 程序編寫相對第二種方法要簡單明了得多。

  在這里作者就以我們常見的 ASP BBS 程序為例,來給大家分析一下如何在 BBS 程序里實現分頁顯示功能,由于我們一般使用的 BBS 程序的數據庫記錄數和同時訪問的人數都不會太多,所以以下程序實例是使用的先前所介紹的第一種分頁顯示方法。

  進行 ADO 存取數據庫時的分頁顯示,其實就是對 Recordset 的記錄進行操作。

所以我們首先必須了解 Reordset 對象的屬性和方法:  BOF 屬性:目前指標指到 RecordSet 的第一筆。

  EOF 屬性:目前指標指到 RecordSet 的最后一筆。

  Move 方法:移動指標到 RecordSet 中的某一條記錄。

  AbsolutePage 屬性:設定當前記錄的位置是位于哪一頁 AbsolutePosition 屬性:目前指標在 RecordSet 中的位置。

  PageCount 屬性:顯示 Recordset 對象包括多少頁的數據。

  PageSize 屬性:顯示 Recordset 對象每一頁顯示的記錄數。

  RecordCount 屬性:顯示 Recordset 對象記錄的總數。

  下面讓我們來詳細認識一下這些重要的屬性和方法  一、 BOF 與 EOF 屬性  通常我們在 ASP 程序中編寫代碼來檢驗 BOF 與 EOF 屬性,從而得知目前指標所指向的 RecordSet 的位置,使用 BOF 與 EOF 屬性,可以得知一個 Recordset 對象是否包含有記錄或者得知移動記錄行是否已經超出該 Recordset 對象的范圍。

  如: $#@60; % if not rs.eof then ... %$#@62;  $#@60; % if not (rs.bof and rs.eof) %$#@62;  若當前記錄的位置是在一個 Recordset 對象第一行記錄之前時, BOF 屬性返回 true,反之則返回 false。

  若當前記錄的位置是在一個 Recordset 對象最后一行記錄之后時, EOF 屬性返回 true,反之則返回 false。

  BOF 與 EOF 都為 False:表示指標位于 RecordSet 的當中。

  BOF 為 True:目前指標指到 RecordSet 的第一筆記錄。

EOF 為 True:目前指標指到 RecordSet 的最后一筆記錄。

  BOF 與 EOF 都為 True:在 RecordSet 里沒有任何記錄。

  二、 Move 方法  您可以用 Move 方法移動指標到 RecordSet 中的某一筆記錄,語法如下:  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 對象包括多少條記錄。

如: $#@60; % totle=RS.RecordCount %$#@62;  在了解了 Recordset 對象的以上屬性和方法后,我們來考慮一下,如何運用它們來達到我們分頁顯示的目的。

首先,我們可以為 PageSize 屬性設置一個值,從而指定從記錄組中取出的構成一個頁的行數;然后通過 RecordCount 屬性來確定記錄的總數;再用記錄總數除以 PageSize 就可得到所顯示的頁面總數;最后通過 AbsolutePage 屬性就能完成對指定頁的訪問。

好象很并不復雜呀,下面讓我們來看看程序該如何實現呢?  我們建立這樣一個簡單的 BBS 應用程序,它的數據庫中分別有以下五個字段:ID,每個帖子的自動編號;subject,每個帖子的主題;name,加帖用戶的姓名;email,用戶的電子郵件地址;postdate,加帖的時間。

數據庫的 DSN 為bbs。

我們將顯示帖子分頁的所有步驟放在一個名為ShowList()的過程中,方便調用。

程序如下:----BBS 顯示帖子分頁----$#@60; % Sub ShowList() %$#@62;$#@60; %PgSz=20 設定開關,指定每一頁所顯示的帖子數目,默認為20帖一頁Set Conn = Server.CreateObject(ADODB.Connection)Set RS = Server.CreateObject(ADODB.RecordSet)sql = SELECT * FROM message order by ID DESC查詢所有帖子,并按帖子的ID倒序排列Conn.Open bbsRS.open sql,Conn,1,1If RS.RecordCount=0 thenresponse.write $#@60; P$#@62;$#@60; center$#@62;對不起,數據庫中沒有相關信息!$#@60; /center$#@62;$#@60; /P$#@62;elseRS.PageSize = Cint(PgSz) 設定PageSize屬性的值Total=INT(RS.recordcount / PgSz * -1)*-1 計算可顯示頁面的總數PageNo=Request(pageno)if PageNo= ThenPageNo = 1elsePageNo=PageNo 1PageNo=PageNo-1end ifScrollAction = Request(ScrollAction)if ScrollAction = 上一頁 ThenPageNo=PageNo-1

版權聲明:本文由 晏彤蕊 整理編輯。

原標題:提供java存取數據庫能力的包,提供java存取數據庫能力的包是

轉載注明出處:http://www.dn9ww09s.icu/program/15533.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • ip數據庫有什么用,連接數據庫IP

    ip數據庫有什么用,連接數據庫IP 相關圖片mysql數據庫ip地址本文主要介紹Python訪問純IP數據庫腳本共享,本文直接給出了實現代碼,可以參考以下項目的需要,通過IP地址來確定客戶端是Netcom還是電信。我從我的同事那sql數據庫...

  • 常見編程術語,編程專業術語

    常見編程術語,編程專業術語 相關圖片計算機編程中常用的術語php什么意思?很多行外人看這三個會毫無頭緒完全不知道php是什么,本文小編就為大家詳細介紹一下php的含義,帶來編程術語php百科解釋。  php什么意思?編什么...

  • SQL中MINUS的用法,sql中iif函數的用法

    SQL中MINUS的用法,sql中iif函數的用法 相關圖片grant在數據庫中用法對于XML路徑:有些人可能知道有些人可能不知道,但實際上,它是以XML形式顯示查詢結果集。有了它,我們可以簡化查詢語句,以實現一些可能需要在之前的功能性實...

  • solr搜索引擎,搜索引擎和solr

    solr搜索引擎,搜索引擎和solr 相關圖片搭建搜索引擎Solr是一個獨立的企業搜索應用服務器,它提供了一個類似于web服務的API接口。用戶可以通過HTTP請求向搜索引擎服務器提交一定格式的XML文件,生成索引。大搜索引擎el...

  • 導入導出是什么意思,導入導出聯系人怎么用

    導入導出是什么意思,導入導出聯系人怎么用 相關圖片mysql數據導入導出Linux系統引導Oracle自引導以根用戶身份登錄:Su-root 1,Linux下Oracle的dbstart和dbshut不響應:modify Oracljava導入導出...

  • git使用教程圖文詳解,github使用教程圖文詳解

    git使用教程圖文詳解,github使用教程圖文詳解 相關圖片tortoisesvn使用教程Android Studio 1.0的官方版本終于發布了!谷歌表示,Android Studio 1.0可以讓開發人員更快、更高效,它可以取代eclipse,并git管理工具使用教程...

  • 文檔分頁怎么設置,word顯示分頁效果

    文檔分頁怎么設置,word顯示分頁效果 相關圖片如何取消分頁預覽我認為最近幾天學習jsp非常好。我寫了一個尋呼類與您共享。同時,我想征求專家的意見。第1部分:db.mysqlconn數據庫鏈接類/**************電子表格分頁設置...

  • 怎么讓復選框選中,設置復選框為選中狀態

    怎么讓復選框選中,設置復選框為選中狀態 相關圖片復選框選中事件本文的示例描述了jQuery切換所有復選框的方法。與您分享以供參考。具體如下:該代碼非常簡單實用。切換是否通過鏈接選中所有復選框?123456var tog=f復選框默認被選中...

  • notification哪個好用,notification13

    notification哪個好用,notification13 相關圖片prenotification委托、通知和KVO的功能是相似的。在實際編程中如何選擇這些方法?在開發IOS應用程序時,我們經常遇到一個常見的問題:如何在控制器之間進行通信而不發生過度耦合。I...

  • js獲取php的變量,php獲取變量類型

    js獲取php的變量,php獲取變量類型 相關圖片php設置變量本文通過一個實例說明PHP如何獲取系統變量。與您分享以供參考。具體如下:這里我們通過一些PHP內置函數獲取各種系統變量。?123456789$v=get_def獲取網站內容到php變量...

熱評文章

  • jsp多選框,jsp中接收多選框數組

    jsp多選框,jsp中接收多選框數組 相關圖片jsp復選框代碼在struts 1項目中,JSP頁面的多選框內容被轉移到下一頁。當涉及到修改表信息(或用戶信息)時,很難在一開始就知道如何實踐這個函數,很多JS代碼都是為了勉強jsp怎么獲...

  • 有愛插件字符串,防騎WA插件字符串

    有愛插件字符串,防騎WA插件字符串 相關圖片wa字符串導入不進去本文主要介紹了亞音速3.0插件更新字符串過長引起的異常修復方法。對于您的朋友,請參考公司客服最近提交的一個bug。更新產品詳細信息時,其中一些無法更新。他...

  • C內核開發,IDEA可以開發C號碼

    C內核開發,IDEA可以開發C號碼 相關圖片linux系統下C開發一。Cocoapods是一個運行在ruby中的軟件,可能需要幾分鐘才能安裝。安裝名稱是sudo gem install cocopods 2。如果要為每個第三方開源C開發工具...

  • 項目優化是什么,項目優化分析

    項目優化是什么,項目優化分析 相關圖片流程優化方案本文演示如何合并和壓縮基于requirejs的項目。在本文中,我將使用一些艱苦的工具,包括node.js。所以如果你手頭沒有node.js,你可以在這里下載一個多目標優化...

  • oracle數據庫常用命令,Oracle PlSQL常用命令

    oracle數據庫常用命令,Oracle PlSQL常用命令 相關圖片oracle命令大全1)檢查集群狀態:[[email protected]~]$crsctl check cluster crs-4537:cluster readyservices is onoracle基本命令...

  • 宏數據庫,數據庫中的宏

    宏數據庫,數據庫中的宏 相關圖片含有宏的數據庫如果有許多宏,將它們分組到不同的宏組中可以幫助方便地管理數據庫。創建表單并添加4個按鈕(如果出現“按鈕向導”對話框,請選擇“取消”)。根據創建宏的方法...

  • android橫向滑動,excel滑動條橫向太長

    android橫向滑動,excel滑動條橫向太長 相關圖片表格怎么設置上下滑動本文主要介紹在Android中實現水平滑動(horizontallsliding)listview的實例。本文采用控件自身封裝的方法來解決這一需求。您可以參考A在表格中滑動條橫向怎么去掉...

  • 程序是由程序員編寫的,程序是程序員編寫的

    程序是由程序員編寫的,程序是程序員編寫的 相關圖片程序員嗎為什么要記錄?你將在六個月內使用你的代碼。我覺得首先從個人利益的角度來解釋這個問題很有吸引力。最好的記錄理由是你將在六個月內使用你的代碼。您六個月前編寫的...

  • php讀取文件夾,php文件夾

    php讀取文件夾,php文件夾 相關圖片php讀取文件函數本文的例子描述了PHP從文件夾中隨機讀取文件的方法。與您分享以供參考。具體實現方法如下:?12345678910131415161718192021222325php讀取空間指定文件夾內容...

  • 數據怎么存入數據庫,文件存入數據庫

    數據怎么存入數據庫,文件存入數據庫 相關圖片數據庫可以存數組嗎用ASP編寫網站應用程序需要很長時間,不可避免地會產生各種問題。恐怕最常見的問題是如何上傳文件到服務器,尤其是上傳圖片。比如,如果你想在自己的社區實...

關注微信

变脸官网查询