第四課jsp中訪問數(shù)據(jù)庫課件_第1頁
第四課jsp中訪問數(shù)據(jù)庫課件_第2頁
第四課jsp中訪問數(shù)據(jù)庫課件_第3頁
第四課jsp中訪問數(shù)據(jù)庫課件_第4頁
第四課jsp中訪問數(shù)據(jù)庫課件_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

JSP常用技巧分頁原理定義兩個(gè)Vector

一個(gè)為儲(chǔ)存查詢所有記錄的totalV

另一個(gè)儲(chǔ)存當(dāng)前頁的記錄currentPageV

定義變量總的記錄數(shù):inttotalSize=totalV.getSize();每頁顯示的記錄數(shù):intcountPerPage;總頁數(shù):inttotalPageNum

inttotalPageNum=totalSize/countPerPage;

如果總的記錄數(shù)和每頁記錄數(shù)的余數(shù)大于零,那么總的頁數(shù)為他們的整除結(jié)果加一

if(totalSize%countPerPage>0)

{totalPageNum=totalSize/countPerPage+1;}當(dāng)前的頁數(shù):pageNum;分頁原理:根據(jù)當(dāng)前的頁數(shù)和每頁顯示的記錄數(shù)從totalV中取出記錄往currentPageV中添加記錄;

如果當(dāng)前記錄大于(包括等于)

(當(dāng)前頁碼-1)*每頁顯示記錄數(shù)

和當(dāng)前頁碼*每頁顯示記錄數(shù)

不包括等于)之間的時(shí)候;

就屬于該頁的數(shù)據(jù)for(intj=0;j<totalV.size();j++)

{if((j>=(pageNum-1)*countPerPage)

&&(j<pageNum*countPerPage))

{currentPageV.addElement(totalV.get(j));}}

當(dāng)currentPageV記錄數(shù)等于每頁顯示記錄數(shù),停止往currentPageV中添加記錄

if(currentPageV.size()==countPerPage)

{break;}那么,當(dāng)前頁中顯示的記錄,就是currentPageV中的記錄。游標(biāo)查詢(Result)順序查詢使用結(jié)果集Result的next()方法,可以順序地查詢

一個(gè)結(jié)果集將游標(biāo)最初定位在第一行的前面,第一次調(diào)用next()方法使游標(biāo)移動(dòng)到第一行。

next()方法返回一個(gè)boolean型數(shù)據(jù),當(dāng)游標(biāo)移動(dòng)到最后一行之后返回false。例子1

while(rs.next()){out.print("<TR>");out.print("<TD>"+rs.getString(1)+"</TD>");out.print("<TD>"+rs.getString(2)+"</TD>");out.print(“<TD>”+rs.getInt(“數(shù)學(xué)成績")+"</TD>");out.print("<TD>"+rs.getInt("物理成績")+"</TD>");out.print("</TR>");游動(dòng)查詢有時(shí)候需要游標(biāo)在結(jié)果集中前后移動(dòng),

或顯示結(jié)果集指定的一條記錄

這時(shí),必須要返回一個(gè)可滾動(dòng)的結(jié)果集為了得到一個(gè)可滾動(dòng)的結(jié)果集,和順序查詢不同的是,必須使用下述方法先獲得一個(gè)Statement對(duì)象:

Statementstmt=con.createStatement(inttype,intconcurrency);

然后,根據(jù)參數(shù)的type,concurrency的取值情況,stmt返回相應(yīng)類型的結(jié)果集:

ResultSetre=stmt.executeQuery(SQL語句);

type的取值決定滾動(dòng)方式,取值可以是:

ResultSet.TYPE_FORWORD_ONLY

結(jié)果集的游標(biāo)只能向下滾動(dòng)。

ResultSet.TYPE_SCROLL_INSENSITIVE

結(jié)果集的游標(biāo)可以上下移動(dòng),當(dāng)數(shù)據(jù)庫變化時(shí),當(dāng)前結(jié)果集不變。

ResultSet.TYPE_SCROLL_SENSITIVE

返回可滾動(dòng)的結(jié)果集,當(dāng)數(shù)據(jù)庫變化時(shí),當(dāng)前結(jié)果集同步改變。Concurrency取值決定是否可以用結(jié)果集更新數(shù)據(jù)庫,Concurrency取值:

ResultSet.CONCUR_READ_ONLY

不能用結(jié)果集更新數(shù)據(jù)庫中的表。

ResultSet.CONCUR_UPDATETABLE能用結(jié)果集更新數(shù)據(jù)庫中的表。滾動(dòng)查詢經(jīng)常用到ResultSet的下述方法

publicbooleanprevious()

將游標(biāo)向上移動(dòng),該方法返回boolean型數(shù)據(jù),當(dāng)移到結(jié)果集第一行之前時(shí),返回false。

publicvoidfirst()

將游標(biāo)移到結(jié)果集的第一行。

publicvoidlast()

將游標(biāo)移到結(jié)果集的最后一行。

publicbooleanabsolute(introw)將游標(biāo)移到參數(shù)row指定的行號(hào)。注意,如果row取負(fù)值,就是倒數(shù)的行數(shù),absolute(-1)表示移到最后一行,absolute(-2)表示移到倒數(shù)第

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論