【问题标题】:java.sql.SQLException:[SQLITE_ERROR] SQL error or missing database (near “ID”:syntax error)java.sql.SQLException:[SQLITE_ERROR] SQL 错误或缺少数据库(“ID”附近:语法错误)
【发布时间】:2015-11-22 20:46:48
【问题描述】:

我正在尝试插入以下数据,但是当我按下保存按钮时显示以下错误:java.sql.SQLException:[SQLITE_ERROR] SQL 错误或缺少数据库(“ID”附近:语法错误)

感谢您的帮助=)

JButton btnSave = new JButton("Save");
    btnSave.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            try {
                String query="INSERT INTO PatientInfo (Patient ID, First Name, Last Name, Date of Birth, Address, Emergency Phone Number, Medical Condition, Appointments, Milling, Comments) values (?,?,?,?,?,?,?,?,?,?)";
                preparedstatement=connection.prepareStatement(query);
                preparedstatement.setString(1, patientIDtextField.getText());
                preparedstatement.setString(2, firstNametextField.getText());
                preparedstatement.setString(3, lastNametextField.getText());
                preparedstatement.setString(4, dobtextField.getText());
                preparedstatement.setString(5, addresstextField.getText());
                preparedstatement.setString(6, EPNtextField.getText());
                preparedstatement.setString(7, MedicalContextField.getText());
                preparedstatement.setString(8,ApptextField.getText());
                preparedstatement.setString(9, BillingtextField.getText());
                preparedstatement.setString(10, CommentstextField.getText());

                preparedstatement.executeQuery();
                JOptionPane.showMessageDialog(null, "Data Saved");


            } catch (Exception e1) {
                JOptionPane.showMessageDialog(null, e1);
            }
            finally{
                try{
                    preparedstatement.close();
                }
                catch(Exception e1){
                    JOptionPane.showMessageDialog(null, e1);
                }
            }
        }
    });

【问题讨论】:

  • 您需要用""Patient ID" 等用空格引用列名。如果没有明确引用标识符,空格是非法的。

标签: java swing sqlite user-interface sql-insert


【解决方案1】:

您在Patient ID 和其他列名中有一个空格。那就是问题所在。如果您的列名确实包含空格,您应该以某种方式限定它们:例如"。所以你应该试试"Patient ID"

【讨论】:

    猜你喜欢
    • 2016-08-14
    • 2013-06-01
    • 2017-02-11
    • 2021-07-31
    • 2018-01-19
    • 1970-01-01
    • 2021-04-28
    • 2018-04-10
    • 1970-01-01
    相关资源
    最近更新 更多