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.

相关文章
相关标签/搜索