如果我的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("'", "/'")+"'";
答案 0 :(得分:8)
使用PreparedStatement
及其setParameter()
方法。它将处理诸如为您逃避之类的事情,您永远不会想知道特定数据库如何处理事情。它还可以防止SQL注入,因此没有充分的理由不使用它。
答案 1 :(得分:1)
尝试
String FUNC_VP = "Chris O''Connor/Henry/George";
要逃避DB2中的撇号,似乎必须使用两个撇号