我使用mysql工作台和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);
}
最佳答案
去掉要添加的数量周围的单引号可以解决您的问题。
更好的解决方案是使用 ?
代替该数量,并使用 setInt
设置它。所以 SQL 是
UPDATE Produit SET Quantity = Quantity + ? WHERE ProductName = ?
设置它的行是
pst.setInt(1, Integer.parseInt(jTextField4.getText()));
关于java - 为数据库增加值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23620485/