gpt4 book ai didi

java - 从文本框中获取的数据库表中的字段中减去值

转载 作者:行者123 更新时间:2023-12-01 23:10:55 24 4
gpt4 key购买 nike

我是java新手,在一个java项目中,每当单击“出售”按钮时,我想从数据库表Item_detail的“可用”字段中减去名为Quantity(q_field)的文本框值,并自动更新表。我写了一些代码,但它不起作用。我的代码是:

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {                                         

if(!p_field.getText().isEmpty() && !b_field.getText().isEmpty() && !m_field.getText().isEmpty() && !sell_field.getText().isEmpty() && !c_field.getText().isEmpty()){
int a=Integer.parseInt(q_field.getText().trim());

String sql1="update Item_detail set Available=Available-'a' where P_name=? and Manuf_name =? and Model_no=?";
String sql2="insert into Sell (`S_id`,`P_name`,`Manuf_name`,`Model_no`,`Date`,`Quantity`,`S.p`,`Cost_price`) values(?,?,?,?,?,?,?,?)";
try{
pst=(PreparedStatement) con.prepareStatement(sql1);

pst.setString(1, p_field.getText());
pst.setString(2, b_field.getText());
pst.setString(3, m_field.getText());
pst.setString(4, q_field.getText());
pst.executeUpdate();

JOptionPane.showMessageDialog(null, "Product sold successfully");
update_table();

}catch(Exception e){
JOptionPane.showMessageDialog(null, e);

'sql1'的正确sql代码是什么,我不明白。请帮忙

最佳答案

sql1 应为:

String sql1="update Item_detail
set Available=Available-?
where
P_name=?
and Manuf_name =?
and Model_no=?";

并将值设置为 pst 查询以包含变量 a 的值,如下所示:

pst=(PreparedStatement) con.prepareStatement(sql1);

pst.setInt(1, a);
pst.setString(2, ...
...
pst.executeUpdate();

但请确保您仅为查询中的席位持有者数量设置了值。否则,将会出现占位符计数不匹配的情况,并且会抛出 SQLException。

关于java - 从文本框中获取的数据库表中的字段中减去值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21980890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com