Java 此查询不起作用的原因是什么?获取:MySQLSyntaxErrorException未知列
客户表中的我的列Java 此查询不起作用的原因是什么?获取:MySQLSyntaxErrorException未知列,java,sql,jdbc,Java,Sql,Jdbc,客户表中的我的列 cusid cusname cusadress paidamount email cus123 damidu kegalle 45 adfff 这是我的Java查询 String query = "UPDATE `customer` SET `cusname`='"+jTextField_name.getText()+"',`cusadress`='"+jTextField_adress.getText()+"',`paidamount`='
cusid cusname cusadress paidamount email
cus123 damidu kegalle 45 adfff
这是我的Java查询
String query = "UPDATE `customer` SET `cusname`='"+jTextField_name.getText()+"',`cusadress`='"+jTextField_adress.getText()+"',`paidamount`='"+jTextField_amount.getText()+"',`email`="+jTextField_emailuser.getText()+" WHERE `cusid` = "+jTextField_id.getText();
executeSQlQuery(query, "Updated");
错误
此更新不起作用,但insert和delete语句起作用的原因是什么?使用以下PreparedStatement:
String updateQuery = "UPDATE customer SET cusname=?,cusadress=?,paidamount=?,email=? WHERE cusid=?";
PreparedStatement stmt=con.prepareStatement(updateQuery); // con is reference variable of Connection class
stmt.setString(1, jTextField_name.getText());
stmt.setString(2, jTextField_adress.getText());
stmt.setInt(3, jTextField_amount.getText());
stmt.setString(4, jTextField_emailuser.getText());
stmt.setString(5, jTextField_id.getText());
希望这有帮助。1可能的SQL注入2使用参数绑定而不是连接SQL字符串3 cus123!='cus123'像这样使用preparedStatementquery是混乱的。尽量使用预先准备好的声明。@LucianovanderVeekens抱歉,也许是我,Alex似乎也这么做了,但看起来好像把WHERE cusid=改成了WHERE``cusid`=-可能是背景标记最初没有出现-如果是这样,请接受我的建议apology@ScaryWombat有用的注意事项:当查看具有更改等功能的编辑时,以并排标记方式查看编辑通常更有用非代码到代码,因为它只突出显示缩进,并显示相同的文本其余部分。在我看来,cusid不是数字,而是基于字符串的。但paidamount看起来像一个数字based@AlexK谢谢你的澄清。我想应该是数字的。我同意你的意见。这只是一句小小的话:谢谢你,先生,我会试试的that@DamiduRathnayaka当然
String updateQuery = "UPDATE customer SET cusname=?,cusadress=?,paidamount=?,email=? WHERE cusid=?";
PreparedStatement stmt=con.prepareStatement(updateQuery); // con is reference variable of Connection class
stmt.setString(1, jTextField_name.getText());
stmt.setString(2, jTextField_adress.getText());
stmt.setInt(3, jTextField_amount.getText());
stmt.setString(4, jTextField_emailuser.getText());
stmt.setString(5, jTextField_id.getText());