Если запрос возвращает, например, 3 строки, ваш код вызовет next()
4 раза.
При первых 3 вызовах он вернет true
, а значения столбцов строка доступна через методы getXxx()
.
При 4-м вызове next()
возвращает false
, и ни одна строка не доступна, то есть методы getXxx()
вызовут исключение, если вы попытаетесь их вызвать.
Все это объясняется в javado c:
Перемещает курсор на одну строку вперед от его текущей позиции. Курсор ResultSet
изначально располагается перед первой строкой; первый вызов метода next делает первую строку текущей; второй вызов делает вторую строку текущей строкой и т. д.
Когда вызов метода next
возвращает false
, курсор устанавливается после последней строки. Любой вызов метода ResultSet
, для которого требуется текущая строка, приведет к выдаче SQLException
.