Вопрос: «как мне вернуться к текущей позиции, а не к предыдущей позиции».
Ответ: Вы можете использовать resultSet.absolute(rowIndex);
Подробное объяснение:
Перемещает курсор к указанному номеру строки вthis ResultSet object.
Если номер строки положительный, курсор перемещается на заданный номер строки относительно начала набора результатов.Первый ряд - это ряд 1, второй ряд 2 и т. Д.
Если заданный номер строки отрицателен, курсор перемещается в абсолютную позицию строки относительно конца набора результатов.Например, вызов метода absolute(-1)
устанавливает курсор в последнюю строку;вызов метода absolute(-2)
перемещает курсор в строку next-to-last
и так далее.
Если указанный номер строки равен нулю, курсор перемещается перед первой строкой.
Однако вы можете использовать absolumte(rowIndex)
в своей программе, например,
int currRowIndex = resultSet.getRow();
resultSet.last(); // <- can throw if resultSet type is TYPE_FORWARD_ONLY
this.resultCount = resultSet.getRow();
resultSet.absolute(currRowIndex); // <- It will allow you to set cursor position.
Предупреждение: При использовании last()
может выдать, если тип resultSet имеет тип TYPE_FORWARD_ONLY.
last
boolean last() throws SQLException
Moves the cursor to the last row in this ResultSet object.<be>
Returns:
- true if the cursor is on a valid row;
- false if there are no rows in the result set
Throws:
- SQLException: if a database access error occurs; this method is called on a closed result set or the result set type is TYPE_FORWARD_ONLY
- SQLFeatureNotSupportedException: if the JDBC driver does not support
this method