Java select查询会在DB2数据库上引发错误吗?

时间:2014-04-12 08:06:06

标签: java db2

如果我的String中有'我试图用转义序列替换它,那么Java DB2 Sql命令会抛出错误但是它在DB2端无法正常工作吗?我希望'出现在字符串中。

错误

com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-10, SQLSTATE=42603, SQLERRMC=', DRIVER=3.63.123

爪哇

String FUNC_VP = "Chris O'Connor/Henry/George";
String myQuery = "SELECT DISTINCT(VICE_PRES) FROM EMP_HC WHERE FUNC_VP ='"+funcvp_name.replace("'", "/'")+"'";  

2 个答案:

答案 0 :(得分:8)

使用PreparedStatement及其setParameter()方法。它将处理诸如为您逃避之类的事情,您永远不会想知道特定数据库如何处理事情。它还可以防止SQL注入,因此没有充分的理由不使用它。

答案 1 :(得分:1)

尝试

String FUNC_VP = "Chris O''Connor/Henry/George";

要逃避DB2中的撇号,似乎必须使用两个撇号