java如何减少数据库表行整数值
我想降低股票的价值。我在java中使用一个jbutton并使用这段代码,但问题是它减少了所有整数,我想减少一个值
如果你有任何问题,请提问
try{
Class.forName(Driver);
Connection con = DriverManager.getConnection(url,user,pass);
String sql = "UPDATE goods SET stocks = stocks - '"+quantPOS.getText()+"'";
PreparedStatement pst = con.prepareStatement(sql);
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Updated Succesfully");
}catch(Exception e){
JOptionPane.showMessageDialog(this, e.getMessage());
}
# 1 楼答案
好的。您的问题是它减少了所有整数,但您希望减少一个股票值。这是因为您的SQL语句
上面的查询所做的是,它将更新
Goods table
的所有行的stocks value
。因此,如果只想更新一个股票值,则必须使用WHERE clause
并指定特定的行id(使用任何唯一列,例如主键列)# 2 楼答案
您需要在SQL语句中添加where子句
您还需要将文本字段中的文本转换为数字
另外,对SQL使用PreparedStatement。这将使编写语句更容易,并且不太可能出现SQL语法错误:
此外,在数据库中命名表和列时,请遵循约定。这些值应以大写字符开头。 stmt。close()
# 3 楼答案
在该行中创建一个选择按钮,选择后,在特定文本框的更新面板中获取该行的所有值,然后使用更新查询sql更新该行