我使用mysql workbench和netbeans 我在mysql中有一个表:包含productsquantity = 50的产品,例如
在java中,我想从文本字段中添加一个值到数据库(要添加的50 +值)请帮忙,我使用这段代码并且没有工作
String url = "jdbc:mysql://localhost:3306/joebdd";
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "12345";
//Error is here:
String sql = "UPDATE Produit " + " SET Quantity =
Quantity+'"+Integer.parseInt(jTextField4.getText())+"' " + "WHERE ProductName = ? " ;
try
{
Class.forName(driver).newInstance();
Connection conn = (Connection)DriverManager.getConnection(url,user,pass);
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, jTextField4.getText());
pst.setString(2, jTextField1.getText());
pst.executeUpdate();}
catch( Exception e){
JOptionPane.showMessageDialog(null, e);
}
答案 0 :(得分:2)
删除您添加的数量周围的单引号可以解决您的问题。
更好的解决方案是使用?
代替该数量,并使用setInt
进行设置。所以SQL将是
UPDATE Produit SET Quantity = Quantity + ? WHERE ProductName = ?
和设置它的行将是
pst.setInt(1, Integer.parseInt(jTextField4.getText()));