天天看點

(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