отсутствует база данных (рядом с «где»: синтаксическая ошибка) - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь обновить свою базу данных sqlite3, но она выдает эту ошибку. Мне удалось успешно вставить данные в ту же базу данных, но я не могу ее обновить. Пожалуйста, помогите.

[SQLITE_ERROR] SQL error or missing database (near "where": syntax error)
at org.sqlite.core.DB.newSQLException(DB.java:909)
at org.sqlite.core.DB.newSQLException(DB.java:921)
at org.sqlite.core.DB.throwex(DB.java:886)
at org.sqlite.core.NativeDB.prepare_utf8(Native Method)
at org.sqlite.core.NativeDB.prepare(NativeDB.java:127)
at org.sqlite.core.DB.prepare(DB.java:227)
at org.sqlite.core.CorePreparedStatement.<init>(CorePreparedStatement.java:45)
at org.sqlite.jdbc3.JDBC3PreparedStatement.<init>(JDBC3PreparedStatement.java:30)
at org.sqlite.jdbc4.JDBC4PreparedStatement.<init>

мой код

btnUpdate = new JButton("Update");
    btnUpdate.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            try {
                String query = "update students set ID='"+ id.getText() +"' , username='"+ username.getText() + "', password='"+ pass.getText() +"', firstname='"+ fname.getText() +"','"+ lname.getText() +"' WHERE ID='"+ id.getText() +"'  ";
                PreparedStatement pst = connection.prepareStatement(query);
                pst.execute();

                JOptionPane.showMessageDialog(null,"data updated successfully");

                pst.close();

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
    btnUpdate.setFont(new Font("Tahoma", Font.PLAIN, 20));
    btnUpdate.setBounds(199, 246, 126, 43);
    contentPane.add(btnUpdate);

1 Ответ

0 голосов
/ 18 октября 2018

Ошибка: вы добавили значение фамилии без поля:

... +"','"+ lname.getText() +"' ...

Вы пропустили параметр фамилия перед значением, что-то вроде:

... +"', lastname='"+ lname.getText() +"' ...

которые становятся

String query = "update students set ID='"+ id.getText() +"' , username='"+ username.getText() + "', password='"+ pass.getText() +"', firstname='"+ fname.getText() +"', lastname='"+ lname.getText() +"' WHERE ID='"+ id.getText() +"'  ";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...