JDBC ResultSet: не последний, но не следующий, почему? - PullRequest
1 голос
/ 30 марта 2012

Я использую HsqlDB 1.8.1 и обнаружил что-то странное:

ResultSet rs;
...
boolean isLast=rs.isLast();
assert !isLast;
boolean hasNext=rs.next();
assert hasNext;

В моем случае isLast ложно, но hasNext также ложно!Ты можешь сказать мне, почему?Я думаю, что если курсор находится не в последней строке этого набора результатов, то он должен иметь следующую строку.

1 Ответ

1 голос
/ 30 марта 2012

Я так понимаю, вы имели в виду, что ваше hasNext утверждение не выполняется, потому что hasNext равно false , верно?

Ваш ResultSet типа TYPE_FORWARD_ONLY? Согласно документации для ResultSet#isLast(), поддержка этого метода в этом случае "необязательна", хотя неясно, означает ли он, что он является необязательным, означает, что метод выдаст SQLFeatureNotSupportedException или просто вернет false безоговорочно.

...