SQL查询的准备好的语句,错误DB2 SQL错误:SQLCODE = -206,SQLSTATE = 42703

时间:2018-06-25 11:44:45

标签: java database jdbc db2 sql-insert

我目前正在使用准备好的语句来进行SQL查询。

String test= "INSERT INTO TEST" + "(ID, IC, CN, CT, Time)" 
             + "VALUES ('"+ ID +"','"+ IC +"','"+CN +"','"+ CT +"','"+ time +"')";  

preparedStatement = myConn.prepareStatement(test);
preparedStatement.executeUpdate();

我已成功连接到数据库,并且已创建表。是因为单引号问题?

1 个答案:

答案 0 :(得分:1)

您错过了使用PreparedStatement的意义。您可以绑定值,这样就不必乱引用自己的话:

String test= "INSERT INTO TEST (ID, IC, CN, CT, Time) VALUES (?, ?, ?, ?, ?)";

preparedStatement = myConn.prepareStatement(test);
preparedStatement.setString(id);
preparedStatement.setString(ic);
preparedStatement.setString(cn);
preparedStatement.setString(ct);
preparedStatement.setDate(new Timestamp(time));

preparedStatement.executeUpdate();