java獲取ResultSet記錄行數

2021-04-22 22:54:08 字數 2106 閱讀 1497

記得以前寫過一篇,但是貌似那個有點問題,那個應該是列數,這個地方,我重新糾正一下自己,也記錄一下,因為總是會忘記,正好今天用到了,就趕緊發了算了...

**如下:

statement stmt = conn.createstatement

(resultset.type_scroll_insensitive,

resultset.concur_read_only);

resultset rs = stmt.executequery

(sql); 

rs.last()

;int length = rs.getrow()

;

如上,length的值,就是行數了。如果在獲取了行數後,還需要繼續使用當前資料集rs,則需要rs.beforefirst();一次,將游標回到初始位置。

resultset.type_scroll_insensitive 結果集的游標可以上下移動,當資料庫變化時,當前結果集不變。

resultset.concur_read_only 不能用結果集更新資料庫中的表。

此外,給出statement建立時的其他說明:

通用格式為: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.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。

resultsetmetadata rsmd = this.rs.getmetadata();

this.columncount = rsmd.getcolumncount();

java獲取ResultSet記錄行數 列數

statement stmt conn.createstatement resultset.type scroll insensitive,resultset.concur read only resultset rs stmt.executequery sql 獲取resultset記錄行數 rs...

結果集ResultSet獲取行數

最近有課,跟著老師寫個小微博,他的介面是這樣的 然後在獲取微博數的時候我跳進了坑!老師用的jdbc,select那塊是list,map然後在獲取以後可以直接通過size 獲取微博數,我用的c3p0返回的resulset結果集,所以悲劇發生了 看下我的code public int getcountw...

通過 ResultSet 獲取行記錄數

resultset沒有方法直接得到記錄數,只有另想方法,下面我介紹一下我取記錄數方法 如果只要得到記錄數,可以直接用sql語句的select count 得出來,但結果我既想得到記錄數,同時也需要用到記錄集的資料呢?那就要用到下面這種方法了。resultset rs rs.last 移到最後一行 i...