Использование MS Access 2003 на Windows Vista Java 1.7.0_45 & IDE NetBeans 7.4JDBC ODBC MS Access 2003 Обновление запроса не обновляет регистр
Я пытаюсь запустить простой UPDATE запрос на таблицу с именем РАБОТНИКОВ
stmt.executeUpdate("UPDATE EMPLOYEES SET Name='John' WHERE Code='A07'");
Но имя сотрудника с кодом A07 не изменяется в базе данных.
Другие запросы (INSERT, SELECT) работают отлично, например:
stmt.executeUpdate("INSERT INTO EMPLOYEES VALUES (....)");
или
ResultSet rs = stmt.executeQuery("SELECT * FROM " + nombreTabla);
работу, как и ожидалось.
Для UPDATE, я пробовал разные вещи, но ни один из них не работает:
Использование ExecuteQuery вместо executeUpdate для запроса UPDATE поднимает SQL Exception: "Нет ResultSet не было произведено"
Добавление "[]" в поля также не обновляли запись:
stmt.executeUpdate ("UPDATE EMPLEADOS SET [Name] = 'John' WHERE [Code] = 'A07'");
Я никогда не работал с Access раньше, я не знаю, что я делаю неправильно. Может быть проблема с привилегией? Как я могу предоставить привилегию обновления в этом случае?
do this__ int i = stmt.executeUpdate ("UPDATE EMPLOYEES SET Name = 'John' WHERE Code = 'A07'"); ___ и проверьте, является ли переменная i больше нуля или нет. Если это не ноль, значит, ваше обновление должно произойти. –
Спасибо. Да, он возвращает i = 1, но когда я проверяю таблицу в MS Access, имя не изменяется (я обновил и даже снова открыл базу данных). – rodrunner
попробуйте stmt.close() после обновления. –