java - 为数据库增加值(value)

标签 java php mysql sql jdbc

我使用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/

相关文章:

java - 动画圆以跨线移动

php - 我可以使用 Slack API 上传图像作为附件吗?

python - Influxdb-python : error inserting utf8 data

c++ - mysql 重新连接 C++

mysql - MySQL存储过程去掉撇号的难点

java - 如何覆盖 AEM 中 RSS 源的默认功能?

java - 将 IFile 转换为文件

java - 线程安全的 Servlet

php - 在 GRAPH API 中检查页面的用户粉丝的方法是什么?

php - mysql_real_escape_string () 在本地主机和服务器上的不同行为, php5.1 , php5.4