在Java中使用Prepared语句进行表更新

时间:2014-07-17 05:56:23

标签: java mysql sql jdbc prepared-statement

我一直在用一个准备好的语句处理这段代码,但它给了我一个语法错误,我似乎无法理解我的错误。

pr1=con.prepareStatement("Update  printers set Current Job = ? where printers.PNo = ? ");
            pstmt.setInt(1, JObj.retJobno());
            pstmt.setInt(2, mno);
            pr1.executeUpdate();

它给出的错误是:

  

捕获异常java.sql.SQLException:[MySQL] [ODBC 5.3(a)驱动程序] [mysqld-5.6.19]您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'Job =附近使用正确的语法?哪个printers.PNo =?'在第1行

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

首先,您的列名称中有空白,因此您必须在列名称周围添加引号或将其重命名为Current_Job

第二: 您创建一个名为pr1的语句,但为语句pstmt设置参数。请将pstmt更改为pr1