这个查询不起作用的原因是什么?得到:MySQLSyntaxErrorException未知列

时间:2017-08-23 07:13:16

标签: 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`='"+jTextField_amount.getText()+"',`email`="+jTextField_emailuser.getText()+" WHERE `cusid` = "+jTextField_id.getText();
executeSQlQuery(query, "Updated");

错误

 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'cus123' in 'where clause'

此更新无效的原因是什么,但插入和删除语句有效吗?

1 个答案:

答案 0 :(得分:3)

使用如下所示的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());

希望这有帮助。