Как получить только первую строку из ResultSet

Как получить только первую строку из ResultSet? Я знаю, как выполнять итерацию по всему набору, но как мне получить только первую строку?

Ответ 1

Вместо того, чтобы итерации по набору результатов, просто проверьте, существует ли запись, и прочитайте ее:

ResultSet r = ...;
if(r.next()) {
  String s = r.getString(1);
  ...
}

Ответ 2

Не вызывайте resultSet.next(); просто извлекайте данные,

Объект ResultSet поддерживает курсор, указывающий на его текущую строку данных. Первоначально курсор позиционируется перед первой строкой. Следующий метод перемещает курсор в следующую строку и потому что он возвращает false, когда в объекте ResultSet больше нет строк, его можно использовать в цикле while для итерации по набору результатов.

Альтернативно Вы также можете вызвать first()

Перемещает курсор в первую строку в этом объекте ResultSet.


Ответ 3

В моем случае хорошо работает следующий подход:

ResultSet RSet  = ...;
RSet.next();
Integer TestType = RSet.getInt("Type");

Ответ 4

Вы можете использовать absolute для перехода к первому ряду:

ResultSet rs = ...;
rs.absolute(1); // Navigate to first row
int id = rs.getInt("id");
...