Когда я взываю следующие строки:Почему я вижу NotUpdatable, когда я вызываю ResultSet.refreshRow()?
Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet resultSet = statement.executeQuery("select * from user");
resultSet.next();
resultSet.refreshRow();//exception throws here
Я вижу следующие исключения:
com.mysql.jdbc.NotUpdatable: Результат не указан updatable.This результирующий набор должен исходить из утверждения, что было созданный с типом результата результата ResultSet.CONCUR_UPDATABLE, запрос должен выбрать только одну таблицу, может не использовать функции и должен выбрать все первичные ключи из этой таблицы. Для получения более подробной информации см. Спецификацию API JDBC 2.1, раздел 5.6. Этот набор должен исходить из инструкции, которая была создана с результатом , установить тип ResultSet.CONCUR_UPDATABLE, запрос должен выбрать только одну таблицу , не использовать функции и должен выбрать все первичные ключи от этой таблицы. См. Спецификацию API JDBC 2.1, раздел 5.6 для получения более подробной информации .
Интересно, это исключение, потому что если прочитать refreshRow
метод Javadoc можно найти следующее:
Метод refreshRow обеспечивает способ для приложения явно сказать водителю JDBC для refetch строки (s) из базы данных
Таким образом, следующие направления: database --> ResultSet
у меня есть followin г понимание:
обновляемым является возможность использовать следующие направления:
ResultSet --> database
Таким образом, я не понимаю причину проблемы.
уточните пожалуйста.
В создании вашего заявления, вы не установили его с помощью ResultSet.CONCUR_UPDATABLE? – ControlAltDel
Да. Я хочу только читать из базы данных! – gstackoverflow
Я хочу получить последние изменения с db – gstackoverflow