ResultSet 的Type屬性 TYPE_FORWARD_ONLY, TYPE_SCROLL_I


說明:Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 

通用格式為:Statement stmt=con.createStatement(int type,int concurrency);我們在訪問數據庫的時候,在讀取返回結果的時候,可能要前后移動指針,比如我們先計算有多少條信息,這是我們就需要把指針移到最后來計算,然后再把指針移到最前面,逐條讀取,有時我們只需要逐條讀取就可以了。還有就是有只我們只需要讀取數據,為了不破壞數據,我們可采用只讀模式,有時我們需要望數據庫里添加記錄,這是我們就要采用可更新數據庫的模式。下面我們就對其參數進行說明: 

參數 int type 

ResultSet.TYPE_FORWORD_ONLY 結果集的游標只能向下滾動。 

ResultSet.TYPE_SCROLL_INSENSITIVE 結果集的游標可以上下移動,當數據庫變化時,當前結果集不變。 

ResultSet.TYPE_SCROLL_SENSITIVE 返回可滾動的結果集,當數據庫變化時,當前結果集同步改變。 

參數 int concurrency 

ResultSet.CONCUR_READ_ONLY 不能用結果集更新數據庫中的表。 

ResultSet.CONCUR_UPDATETABLE 能用結果集更新數據庫中的表。 

查詢語句 

ResultSet re=stmt.executeUpdate(SQL語句);用來更新數據庫信息或插入數據 

ResultSet re=stmt.executeQuery(SQL語句);用來查詢數據庫信息 

當我們使用ResultSet re=stmt.executeQuery(SQL語句)查詢后,我們可以使用下列方法獲得信息: 

public boolean previous() 將游標向上移動,該方法返回boolean型數據,當移到結果集第一行之前時,返回false。 

public void beforeFirst 將游標移動到結果集的初始位置,即在第一行之前。 

public void afterLast() 將游標移到結果集最后一行之后。 

public void first() 將游標移到結果集的第一行。 

public void last() 將游標移到結果集的最后一行。 

public boolean isAfterLast() 判斷游標是否在最后一行之后。 

public boolean isBeforeFirst() 判斷游標是否在第一行之前。 

public boolean ifFirst() 判斷游標是否指向結果集的第一行。 

public boolean isLast() 判斷游標是否指向結果集的最后一行。 

public int getRow() 得到當前游標所指向行的行號,行號從1開始,如果結果集沒有行,返回0。 

public boolean absolute(int row) 將游標移到參數row指定的行號。如果row取負值,就是倒數的行數,absolute(-1)表示移到最后一行,absolute(-2)表示移到倒數第2行。當移動到第一行前面或最后一行的后面時,該方法返回false 
說明:Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 

通用格式為:Statement stmt=con.createStatement(int type,int concurrency);我們在訪問數據庫的時候,在讀取返回結果的時候,可能要前后移動指針,比如我們先計算有多少條信息,這是我們就需要把指針移到最后來計算,然后再把指針移到最前面,逐條讀取,有時我們只需要逐條讀取就可以了。還有就是有只我們只需要讀取數據,為了不破壞數據,我們可采用只讀模式,有時我們需要望數據庫里添加記錄,這是我們就要采用可更新數據庫的模式。下面我們就對其參數進行說明: 

參數 int type 

ResultSet.TYPE_FORWORD_ONLY 結果集的游標只能向下滾動。 

ResultSet.TYPE_SCROLL_INSENSITIVE 結果集的游標可以上下移動,當數據庫變化時,當前結果集不變。 

ResultSet.TYPE_SCROLL_SENSITIVE 返回可滾動的結果集,當數據庫變化時,當前結果集同步改變。 

參數 int concurrency 

ResultSet.CONCUR_READ_ONLY 不能用結果集更新數據庫中的表。 

ResultSet.CONCUR_UPDATETABLE 能用結果集更新數據庫中的表。 

查詢語句 

ResultSet re=stmt.executeUpdate(SQL語句);用來更新數據庫信息或插入數據 

ResultSet re=stmt.executeQuery(SQL語句);用來查詢數據庫信息 

當我們使用ResultSet re=stmt.executeQuery(SQL語句)查詢后,我們可以使用下列方法獲得信息: 

public boolean previous() 將游標向上移動,該方法返回boolean型數據,當移到結果集第一行之前時,返回false。 

public void beforeFirst 將游標移動到結果集的初始位置,即在第一行之前。 

public void afterLast() 將游標移到結果集最后一行之后。 

public void first() 將游標移到結果集的第一行。 

public void last() 將游標移到結果集的最后一行。 

public boolean isAfterLast() 判斷游標是否在最后一行之后。 

public boolean isBeforeFirst() 判斷游標是否在第一行之前。 

public boolean ifFirst() 判斷游標是否指向結果集的第一行。 

public boolean isLast() 判斷游標是否指向結果集的最后一行。 

public int getRow() 得到當前游標所指向行的行號,行號從1開始,如果結果集沒有行,返回0。 

public boolean absolute(int row) 將游標移到參數row指定的行號。如果row取負值,就是倒數的行數,absolute(-1)表示移到最后一行,absolute(-2)表示移到倒數第2行。當移動到第一行前面或最后一行的后面時,該方法返回false 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM