java - JDBC 显示行数

标签 java jdbc

我想在最后打印我的行数,但它显示 1

    public void showRecords() {
    try {
        Statement st1 = con.createStatement();
        ResultSet result1 = st1.executeQuery("select * from mytable");
        while (result1.next()) {
            System.out.println(result1.getString(1) + " " + result1.getString(2));
        }

        ResultSet rs1 = st1.executeQuery("select count(*) from mytable");
        int rows = rs1.last() ? rs1.getRow() : 0;
        System.out.println("Number of rows is: "+ rows);  //print 1

    } catch (SQLException sqle) {
        System.out.println("Can not excute sql statement");
        sqle.printStackTrace();
    }
}

输出: ... 行数为:1

最佳答案

Output: ... Number of rows is: 1

这是绝对正确的,因为计数查询的输出如下

select count(*) from mytable

只包含一行,其中包含总行数。现在,为了检索该计数,您应该像往常一样使用 Resultset 的 getter 方法。

int rows = rs1.getInt(1);

按照您想要的方式检索计数;对第一个查询使用相同的方法

ResultSet result1 = st1.executeQuery("select * from mytable");
int rows = result1.last() ? result1.getRow() : 0;
System.out.println("Number of rows is: "+ rows);  // should print the count

关于java - JDBC 显示行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17504179/

相关文章:

java - 在 Java 中比较日期给出了错误的结果

java - IllegalState Sonar 自定义插件中至少存在一个问题

java - Web 应用程序的单一数据库连接

java - 连接后获取/设置列名称

jsp - HTTP 状态 500 - 处理 JSP 页面时发生异常

java - Android游戏菜单可点击

谷歌容器引擎中的java/Kubernetes - 未知主机异常

java - 迭代匹配器正则表达式 Java

java - 带对象成员的 NamedJDBCTemplate 批量插入

java - 每个线程的新连接实例上的连接池 (JDBC)