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

标签 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();

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

最佳答案

您错过了使用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/

相关文章:

php - 如何通过分页在 laravel 中按关系排序数据

php - 最佳数据库存储方式

java - Spring TransactionManager - 提交不起作用

java - jdbc左连接3个表

java - 为什么 JDBC 代码在 Java 中运行,但在 Android 中返回 null?

java - 如何从 Activity 外部扩展 SupportActionBar 菜单

java - 为什么我使用G1GC时Scan RS花费很长时间

java - 为什么java进程使用的内存比预期多得多

java - 用于动态表创建的 hibernate

database - 如何在整个数据库中查找某个字符串?