не удалось записать данные в базу данных sql с помощью java, но чтение успешно

Я использую код ниже:

JButton btnEdit = new JButton("Edit");
btnEdit.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {

        try{
        String query = "Insert Into check(Name, Password)Values(?,?)";
        PreparedStatement pst = con.prepareStatement(query);
        pst.setString(1, textField.getText());
        pst.setString(2, textField_1.getText());
/*      pst.setString(3, textField_2.getText());
        pst.setString(4, textField_4.getText());
        pst.setString(5, textField_5.getText());
        */

        pst.execute();
        JOptionPane.showMessageDialog(null, "Data Saved");
        pst.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
});

Я извлекаю данные из базы данных SQL, но всякий раз, когда я пытаюсь вставить данные, я получаю ошибки во время выполнения:

«check» — это зарезервированное ключевое слово, и поэтому код дает сбой, попытка с именем, которое не является ключевым словом, должна решить проблему.


person Kamran Ashiq    schedule 04.08.2017    source источник
comment
Попробуйте добавить точку с запятой в конце инструкции sql. Строковый запрос = Вставить в чек (Имя, Пароль) Значения (?,?);;   -  person Scary Wombat    schedule 04.08.2017
comment
Все еще получаю тот же журнал ошибок. попробовал оба твоих предложения бро   -  person Supun Amarasinghe    schedule 04.08.2017
comment
Может ли «проверить» быть словом, которое нельзя использовать в sql, может быть зарезервированным словом? Вместо «проверить» попробуйте «abc» и посмотрите, получите ли вы ту же ошибку...   -  person Kamran Ashiq    schedule 04.08.2017
comment
Похоже, дипакл прав. Это ключевое слово sql для установки ограничений.   -  person deepakl    schedule 04.08.2017
comment
спасибо deepakl это сработало, я просто изменил имя таблицы с проверки   -  person Supun Amarasinghe    schedule 04.08.2017
comment
Да, верно, это ключевое слово для наложения ограничений, спасибо Калхаре за подтверждение, и добро пожаловать, Камран...   -  person Kamran Ashiq    schedule 04.08.2017
comment
Использование _1_ также решило бы проблему без изменения имени таблицы.   -  person deepakl    schedule 04.08.2017


Ответы (1)


попробуйте добавить пробел перед _1_

person deepakl    schedule 04.08.2017
comment
java.sql.SQLException: [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Неверный синтаксис рядом с ключевым словом «проверить». at sun.jdbc.odbc.JdbcOdbc.createSQLException(неизвестный источник) at sun.jdbc.odbc.JdbcOdbc.standardError(неизвестный источник) at sun.jdbc.odbc.JdbcOdbc.SQLExecute(неизвестный источник) at sun.jdbc.odbc.JdbcOdbcPreparedStatement .execute(неизвестный источник) в AdminPanel$2.actionPerformed(AdminPanel.java:184) в javax.swing.AbstractButton.fireActionPerformed(неизвестный источник) в javax.swing.AbstractButton$Handler.actionPerformed(неизвестный источник) в javax.swing.DefaultButtonModel .fireActionPerformed(неизвестный источник) в javax.swing.DefaultButtonModel.setPressed(неизвестный источник) в javax.swing.plaf.basic.BasicButtonListener.mouseReleased(неизвестный источник) в java.awt.Component.processMouseEvent(неизвестный источник) в javax.swing .JComponent.processMouseEvent(неизвестный источник) в java.awt.Component.processEvent(неизвестный источник) в java.awt.Container.processEvent(неизвестный источник) в java.awt.Component.dispatchEventImpl(неизвестный источник) в java.awt.Container .dispatchEventImpl(неизвестный источник) в java.awt.Component.dispatchEvent(неизвестный источник) в java.awt.LightweightDispatcher.retargetMouseEvent(неизвестный источник) в java.awt.LightweightDispatcher.processMouseEvent(неизвестный источник) в java.awt.LightweightDispatcher.dispatchEvent (Неизвестный источник) в java.awt.Container.dispatchEventImpl(Неизвестный источник) в java.awt.Window.dispatchEventImpl(Неизвестный источник) в java.awt.Component.dispatchEvent(Неизвестный источник) в java.awt.EventQueue.dispatchEventImpl(Неизвестный источник) Источник) в java.awt.EventQueue.access$300(неизвестный источник) в java.awt.EventQueue$3.run(неизвестный источник) в java.awt.EventQueue$3.run(неизвестный источник) в java.security.AccessController.doPrivileged( Собственный метод) в java.security.ProtectionDomain$1.doIntersectionPrivilege(неизвестный источник) в java.security.ProtectionDomain$1.doIntersectionPrivilege(неизвестный источник) в java.awt.EventQueue$4.run(неизвестный источник) в java.awt.EventQueue $4.run(неизвестный источник) в java.security.AccessController.doPrivileged(собственный метод) в java.security.ProtectionDomain$1.doIntersectionPrivilege(неизвестный источник) в java.awt.EventQueue.dispatchEvent(неизвестный источник) в java.awt.EventDispatchThread .pumpOneEventForFilters(неизвестный источник) в java.awt.EventDispatchThread.pumpEventsForFilter(неизвестный источник) в java.awt. EventDispatchThread.pumpEventsForHierarchy(неизвестный источник) в java.awt.EventDispatchThread.pumpEvents(неизвестный источник) в java.awt.EventDispatchThread.pumpEvents(неизвестный источник) в java.awt.EventDispatchThread.run (неизвестный источник) - person Gord Thompson; 12.08.2017