Mar*_*ams 29
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
boolean isMoreThanOneRow = rs.first() && rs.next();
Run Code Online (Sandbox Code Playgroud)
你没有问这个,但你可能需要它:
boolean isEmpty = ! rs.first();
Run Code Online (Sandbox Code Playgroud)
通常,我们不需要行计数,因为我们使用WHILE循环来迭代结果集而不是FOR循环:
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
// retrieve and print the values for the current row
int i = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
System.out.println("ROW = " + i + " " + s + " " + f);
}
Run Code Online (Sandbox Code Playgroud)
但是,在某些情况下,您可能希望窗口显示结果,并且您需要提前记录计数以向用户显示类似的内容Row 1 to 10 of 100.您可以SELECT COUNT(*)先使用first 进行单独的查询,以获取记录计数,但请注意,计数只是近似值,因为可以在执行两个查询所需的时间之间添加或删除行.