com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:'field list' 中的未知列 'nombre' 错误?

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'nombre' in 'field list' ERROR?

我不知道为什么这不起作用。我已经在程序的另一部分使用了相同的代码。有帮助吗?

 try {
       PreparedStatement pps;
      pps = cn.prepareStatement("INSERT INTO ventas (nombre,precio,cant)
                                  VALUES (?,?,?)");
            pps.setString(1, productotxt.getText());
            pps.setString(2, preciotxt.getText());
            pps.setString(3, cantidadtxt.getText());
            pps.executeUpdate();

            JOptionPane.showMessageDialog(null, "Registro exitoso!");
        } catch (SQLException ex) {
            Logger.getLogger(add.class.getName()).log(Level.SEVERE, null, ex);
        }

如果有帮助,这是我的 EER 图。

]

您使用了错误的设置器,即代码应该类似于:

pps.setString(1, productotxt.getText());
 pps.setInt(2, preciotxt);
 pps.setInt(3, cantidadtxt);
 pps.executeUpdate();

将 "preciotxt" 和 "cantidadtxt" 转换为整数,如果不是...

使用 setInt 而不是 setString 因为值 precio 和 cantidad 是 int 输入给你的数据库。

try {
           PreparedStatement pps;
          pps = cn.prepareStatement("INSERT INTO ventas (nombre,precio,cant)VALUES (?,?,?)");
                pps.setString(1, productotxt.getText());
                pps.setInt(2, Integer.parseInt(preciotxt.getText()));
                pps.setInt(2, Integer.parseInt(cantidadtxt.getText()));        
                pps.executeUpdate();

                JOptionPane.showMessageDialog(null, "Registro exitoso!");
            } catch (SQLException ex) {
                Logger.getLogger(add.class.getName()).log(Level.SEVERE, null, ex);
            }