ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
boolean isMoreThanOneRow = rs.first() && rs.next();
Вы не задавали этот вопрос, но он может вам понадобиться:
boolean isEmpty = ! rs.first();
Обычно нам не нужно количество строк, потому что мы используем цикл 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);
}
Однако в некоторых случаях вам может потребоваться окно результатов, и вам необходимо заранее подсчитать количество записей, чтобы отобразить для пользователя что-то вроде Row 1 to 10 of 100
.Сначала вы можете выполнить отдельный запрос с помощью SELECT COUNT(*)
, чтобы получить количество записей, но учтите, что это приблизительное число, так как строки могут быть добавлены или удалены за время, необходимое для выполнения двух запросов.
Образец из Обзор ResultSet