java.sql.SQLException : Parameter index out of range (1 > number of parameters, 这是 0) 错误

标签 java mysql sql database netbeans

我的项目是驾驶执照数据库。

当用户填写字段时,这是正常的,但是当用户按下“提交”按钮时,一切都变得一团糟。

显示错误参数索引超出范围错误,所以这是我的代码。

private void submitButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             

    String sql = "INSERT INTO dr_record_table (Driver's ID, Last Name, First Name, Middle Name, Street, Barangay, City/Municipality, Province, Country, Month, Day, Year, Gender) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

    try {
        pst = conn.prepareStatement(sql);
        pst.setString(1, idTxtFld.getText());
        pst.setString(2, lnTxtFld.getText());
        pst.setString(3, fnTxtFld.getText());
        pst.setString(4, mnTxtFld.getText());
        pst.setString(5, saTxtFld.getText());
        pst.setString(6, baTxtFld.getText());
        pst.setString(7, caTxtFld.getText());
        pst.setString(8, paTxtFld.getText());
        pst.setString(9, cntryTxtFld.getText());
        pst.setString(10, String.valueOf(monthCBox.getSelectedItem()));
        pst.setString(11, String.valueOf(dayCBox.getSelectedItem()));
        pst.setString(12, String.valueOf(yearCBox.getSelectedItem()));
        pst.setString(13, getSelectedButtonText(bg));
        pst.execute();

        JOptionPane.showMessageDialog(null, "Entry Saved!");

    } catch (SQLException | HeadlessException e) {
        JOptionPane.showMessageDialog(null, e);
    }

}   

最佳答案

转义驱动程序 ID 中的单引号。比如,

String sql = "INSERT INTO dr_record_table (Driver''s ID, Last Name, "
    + "First Name, Middle Name, Street, Barangay, City/Municipality, "
    + "Province, Country, Month, Day, Year, Gender) VALUES "
    + "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

关于java.sql.SQLException : Parameter index out of range (1 > number of parameters, 这是 0) 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33838458/

相关文章:

java - RX java 在添加项目时发出延迟的列表项目

java - java中作为递归参数的列表与数组

java - 如何正确设置带有 Fragments 的 RecyclerView 作为 child

php - MySQL -- fatal error : Call to a member function bind_param() on a non-object

sql - NULL bool 表达式设计的合理性是什么

MySql:查询优化或表的结构优化

macos - 浏览器中.class文件中的java版本号错误

mysql - 如何将这两个查询合并为一个?

mysql - 如何查找具有所有其他列值的所有行

mysql - SQL 选择外键链接的其他表中的条目