0
我使用SQL变量替换,我收到以下错误:在查询变量替换错误
at com.ibm.as400.access.JDError.throwSQLException(JDError.java:408)
at com.ibm.as400.access.AS400JDBCPreparedStatement.setValue(AS400JDBCPreparedStatement.java:3532)
at com.ibm.as400.access.AS400JDBCPreparedStatement.setString(AS400JDBCPreparedStatement.java:3211)
at queries.RunQueryDB2.runNameAccount(RunQueryDB2.java:237)
跟踪使我对这个代码段,
stmt.setString(1, name[0]);
stmt.setString(2, name[1]);
stmt.setString(3, name[2]);
它引用这条SQL变量替换:
nameToAcctQuery="SELECT DISTINCT a.Acnum"
+ "FROM table c, table p, table a "
+ "WHERE c.First= '?.toUpperCase()' "
+ "AND c.Mid= '?.toUpperCase()' "
+ "AND c.Last= '?.toUpperCase()' "
+ "AND p.Pol= a.pol"
+ "AND p.name= c.name";
我在其他许多查询中使用这种格式,而且我不能我,弄清楚为什么我在我的变量替换中出现错误。任何想法为什么?
什么是日是否抛出了SQLException的内部异常?错误可能是因为在倒数第二行的末尾没有空格。 –
耶稣...我怎么错过了?我看了45次。谢谢。就这些。 –
你在单引号中包装了绑定占位符('?'),这真的有用吗?也许这是DB2的特殊语法。 –