Драйвер JDBC генерирует исключение «ResultSet Closed» для пустого ResultSet

У меня проблема в драйвере JDBC для SQLite.

Я выполняю запрос с оператором SELECT.

Если я получу пустойResultSet (0 строк), затем я вижу исключение "Закрытый ResultSet", вызываемое при вызовеgetString(1).

Без большого опыта JDBC, моя теория (которую я не смог подтвердить с помощью JavaDocs дляResultSet) в том, что

getString(1) НЕ работает с пустым (нулевым) набором результатов (по замыслу или из-за ошибки)ResultSet'open' флаг установлен вfalse на нулевых строках (опять же по замыслу или по ошибке)

я видел этосообщение об ошибке но я не уверен, если это связано.

Мои вопросы:

Верна ли теория выше?Это ошибка? Характерная черта? (и если да, может кто-нибудь указать на документацию, пожалуйста?)Это специфично для JDBC SQLIte или для общегоResultSet во всех драйверах JDBC?Как правильно делать такие вещи??

Для # 4 моим решением было использоватьisFirst() позвоните сразу послеexecuteQuery() проверить, есть ли какие-либо строки в наборе результатов. Это лучший подход?

(Я мог бы также просто выбрать счетчик, поскольку мне действительно не нужен набор результатов, просто флаг с ненулевым ненулевым значением, но я хочу знать, что нужно делать, если мне не безразличны результаты select)

Спасибо!

Ответы на вопрос(4)

Ваш ответ на вопрос