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

 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图。

]

最佳答案

使用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);
            }

08-28 23:39