为数据库增加价值

时间:2014-05-12 23:20:40

标签: java php mysql sql jdbc

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

}

1 个答案:

答案 0 :(得分:2)

删除您添加的数量周围的单引号可以解决您的问题。

更好的解决方案是使用?代替该数量,并使用setInt进行设置。所以SQL将是

UPDATE Produit SET Quantity = Quantity + ? WHERE ProductName = ?

和设置它的行将是

pst.setInt(1, Integer.parseInt(jTextField4.getText()));