在java中通过查询更改数据库的现有行
我想更新mysql中的一行…因为我在按下update按钮时使用了update query,但它不起作用…甚至没有得到任何错误…所以很难找出它为什么不起作用在java中通过查询更改数据库的现有行,java,mysql,Java,Mysql,我想更新mysql中的一行…因为我在按下update按钮时使用了update query,但它不起作用…甚至没有得到任何错误…所以很难找出它为什么不起作用 public void actionPerformed(ActionEvent arg0) { try { String b=""; String query1="update salesbill set `TaxAmount`='"+b+"' where SONumber = ?";
public void actionPerformed(ActionEvent arg0)
{
try
{
String b="";
String query1="update salesbill set `TaxAmount`='"+b+"' where SONumber = ?";
PreparedStatement pst=conn.prepareStatement(query1);
pst.setString(1,sonum.getText()); //sonum is textfield where values passed for SONumber
pst.setString(1, amt.getText()); //amt istextfield variable
b=amt.getText();
System.out.println(query1);
pst.execute();
}
catch(Exception g)
{
g.printStackTrace();
}
}
你需要评论一下
pst.setString(1, amt.getText());
因为它正在覆盖
pst.setString(1,sonum.getText());
而且,您的查询需要SONumber
==更新==
正如OP在评论中提到的,他/她试图更新taxantium
,即amt.getText()
。所以,更新了我的帖子
String query1="update salesbill set `TaxAmount`=? where SONumber = ?";
PreparedStatement pst=conn.prepareStatement(query1);
pst.setString(1, amt.getText());
pst.setString(2,sonum.getText()); //sonum is textfield where values passed for SONumber
pst.execute();
请参考,以使用适当的方法设置您的值。您尝试过调试代码吗?是的,先生……我尝试过,并在控制台上查询打印了如下内容------更新salesbill set
TaxAmount
='',其中SONumber=?amt.getText()
您可以使用sonum.getText()进行验证吗我将值传递给了“?”,amt.getText()用于将值更新到数据库。非常感谢Ravi先生:)问题解决了