【问题标题】:Adding value to database为数据库增加价值
【发布时间】:2014-06-30 11:48:01
【问题描述】:

我使用 mysql 工作台和 netbeans 我在 mysql 中有一个表: Products that contains 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);

}

【问题讨论】:

    标签: java php mysql sql jdbc


    【解决方案1】:

    去掉你要添加的数量周围的单引号可以解决你的问题。

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

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

    设置它的行是

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

    【讨论】:

    • 我使用 :String sql = "UPDATE Produit" + " SET Quantity = ? +'"+Integer.parseInt(jTextField4.getText())+"' " + "WHERE ProductName = ?" ;它非常有效
    • 不,它没有。看看数量是多少。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    • 2018-10-18
    • 2017-09-16
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    相关资源
    最近更新 更多