我目前在使用准备好的语句进行 SQL 查询时遇到问题。
String test= "INSERT INTO TEST" + "(ID, IC, CN, CT, Time)"
+ "VALUES ('"+ ID +"','"+ IC +"','"+CN +"','"+ CT +"','"+ time +"')";
preparedStatement = myConn.prepareStatement(test);
preparedStatement.executeUpdate();
我已成功连接到数据库,并且表已创建。是因为单引号的问题吗?
最佳答案
您错过了使用PreparedStatement
的要点。您可以只绑定(bind)这些值,这样您就不必费力地引用自己:
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();
关于java - SQL 查询的准备语句,错误 DB2 SQL 错误 : SQLCODE=-206, SQLSTATE=42703,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51022710/