java
  • sql
  • ms-access
  • jdbc-odbc
  • 2013-11-16 4 views 0 likes 
    0

    Использование 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 раньше, я не знаю, что я делаю неправильно. Может быть проблема с привилегией? Как я могу предоставить привилегию обновления в этом случае?

    +1

    do this__ int i = stmt.executeUpdate ("UPDATE EMPLOYEES SET Name = 'John' WHERE Code = 'A07'"); ___ и проверьте, является ли переменная i больше нуля или нет. Если это не ноль, значит, ваше обновление должно произойти. –

    +0

    Спасибо. Да, он возвращает i = 1, но когда я проверяю таблицу в MS Access, имя не изменяется (я обновил и даже снова открыл базу данных). – rodrunner

    +0

    попробуйте stmt.close() после обновления. –

    ответ

    0

    Проблемы с обновлениями, которые не записываются в базу данных Access, часто оказываются результатом неявного закрытия базы данных объекта Connection путем вызова его метода .Close(). В JDBC-ODBC, если объект соединения просто выходит из области действия, пока соединение по-прежнему .Open(), тогда ожидающие обновления иногда отбрасываются.

    Смежные вопросы