Java ResultSet的getRow()

ResultSet通常用來存放sql執行結果,其中的確包含所獲取的數據可是通常你不知道他們存放在什麼地方的。。Debug也找不到因此就放棄吧麼麼噠。java

固然了看一下文檔應該仍是能夠找到的,留存之後找一下。sql

ResultSet有一個getRow()方法,它的做用不是用來統計結果滿共有多少行的,是用來看當前是在第幾行。函數


好比說:code

ResultSet rs = null;
...
rs = server.getResultSet(con, st, sql);
...
while (rs.next()) {
    String result = null;
    result = rs.getString("value").trim();
    values += p + result;
    id += p + rs.getString("id").trim();
}

那如今你想統計這個rs的行數應該把server

System.out.println("result row:"+rs.getRow());

這句話放到哪兒呢?文檔

這樣:get

ResultSet rs = null;
...
rs = server.getResultSet(con, st, sql);
System.out.println("result row:"+rs.getRow());    //<---------
...
while (rs.next()) {
    String result = null;
    result = rs.getString("value").trim();
    values += p + result;
    id += p + rs.getString("id").trim();
}

是不行的,顯示的是0,絕不誇張地說,這樣是不行的。class

那放地下應該能夠了吧
循環

ResultSet rs = null;
...
rs = server.getResultSet(con, st, sql);
...
while (rs.next()) {
    String result = null;
    result = rs.getString("value").trim();
    values += p + result;
    id += p + rs.getString("id").trim();
}
System.out.println("result row:"+rs.getRow());    //<---------

固然了這樣也是不行的。顯示結果一樣是0.bug

其實getRow()這個函數並非用來統計滿共有多少條記錄,而是用來知識在next循環裏面當前是處在第幾條記錄之中。

這樣

ResultSet rs = null;
...
rs = server.getResultSet(con, st, sql);
...
while (rs.next()) {
    String result = null;
    result = rs.getString("value").trim();
    values += p + result;
    id += p + rs.getString("id").trim();
    System.out.println("result row:"+rs.getRow());    //<---------
}

而後它顯示的結果就會像這樣

...
result row:2503
result row:2504
result row:2505
result row:2506

Done.

相關文章
相關標籤/搜索