簡體   English   中英

來自jtextfield的MySQL Java更新列

[英]Mysql Java update column from jtextfield

如何使用Java從JTextField更新數據庫中的字段?

  • 我在數據庫中的字段: total
  • 我在Java中的字段: add_quantity

我需要使用sql將數量添加到總數中。

total = total + add_quantity

我嘗試了這個:

String value1 = jTextField5.getText();       
PreparedStatement pst = cn.prepareStatement("UPDATE Capitales_totales SET capital_total = $capital_total + '"+value1+"';

正確的語法是什么?

您的問題不是很清楚,沒有提供capital_total數據類型。 因此,我們假設它是整數或數字數據類型。

將一個值添加到已經存儲在列中的值的MySQL語法是這樣的:

  UPDATE mytable 
     SET mycol = mycol + 20
   WHERE id = 1

如果mycol包含NULL值,則將分配NULL。 (一個未知值加20會導致一個未知值。)如果您想將NULL值當作零來處理...

  UPDATE mytable 
     SET mycol = IFNULL(mycol,0) + 20
   WHERE id = 1

至於如何在Java預准備語句中執行此操作,請使用綁定占位符代替SQL文本中的值,然后使用setString方法為綁定占位符提供一個值。

String sql = "UPDATE mytable
                 SET mycol = IFNULL(mycol,0) + ?
               WHERE id = 1";
PreparedStmt pst = cn.prepareStatement(sql);
pst.setString(1, value1);

用例的示例代碼片段:

PreparedStatement pst = cn.prepareStatement("Update  Capitales_totales set capital_total =capital_total+?");
pst.setString(1, Integer.parseInt("int_string"));

OR

pst.setInt(1, 1001); //sample int 1001

嘗試使用綁定,例如

PreparedStatement pst = cn.prepareStatement("UPDATE Capitales_totales SET capital_total = capital_total + ?");
pst.setInt(1, Integer.parseInt(value1));

注意: Integer.parseInt()可能會拋出RuntimeExpection

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM