我想在最后打印我的行数,但它显示 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/