检索结果集中的条目数



在SO的一些答案中,建议使用ResultSet函数getRow()以获取查询结果中的条目数。但是,以下代码

private static int getSizeOfResultSet(ResultSet result) throws SQLException{
    if(result != null){
        int count = 0;
        while(result.next()){
            count++;
        }
        System.out.println("Count of resultset is " + result.getRow() + " and count " + count);
            return result.getRow();
    }else{
        System.out.println("Result is null");
        return 0;
    }
}

还给我这样的东西

Count of resultset is 0 and count 1

当确定条目存在时(在 JUnit 测试用例中)。请注意,这个项目必须是Java6标准,所以也许这就是问题所在。使用getRow()功能有什么需要考虑的吗?

此外,我尝试了

result.last();
int c = result.getRow();
result.beforeFirst();
return c;

就像这里提到的,但结果仍然是 0。

编辑:我应该提到while(result.next())循环用于测试目的。没有循环的行为完全相同(即 0)。

javadoc 状态

返回当前行

号;如果没有当前行,则返回 0

访问

了所有带有ResultSet#next()的行后,没有当前行。

使用count值作为行数。或者使用SELECT count(*) ...样式查询。

相关内容

  • 没有找到相关文章

最新更新