我不知道为什么这不起作用。我已经在程序的另一部分中使用了相同的代码。有什么帮助吗?
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图表,如果它有帮助。
]
答案 0 :(得分:0)
你使用了错误的setter,即代码应该是这样的:
pps.setString(1, productotxt.getText());
pps.setInt(2, preciotxt);
pps.setInt(3, cantidadtxt);
pps.executeUpdate();
将“preciotxt”和“cantidadtxt”转换为整数,如果不是..
答案 1 :(得分:0)
使用 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);
}