Java select查询在DB2数据库上抛出错误?

Java select查询在DB2数据库上抛出错误?,java,db2,Java,Db2,如果我的字符串中有一个,,Java DB2 Sql命令就会抛出一个错误。我试图用转义序列替换它,但它在DB2端不起作用。有什么帮助吗?我希望字符串中出现” 错误 爪哇 试一试 要在DB2上避开撇号,似乎必须使用两个撇号,使用PreparedStatement及其setParameter()方法。它将为您处理诸如转义之类的事情,您永远不必怀疑特定的数据库可能会如何处理这些事情。它还阻止SQL注入,因此没有理由不使用它。不相关,但是:distinct不是一个函数(不是向下投票,因为这在技术上是正确的

如果我的字符串中有一个
,Java DB2 Sql命令就会抛出一个错误。我试图用转义序列替换它,但它在DB2端不起作用。有什么帮助吗?我希望字符串中出现

错误

爪哇

试一试


要在DB2上避开撇号,似乎必须使用两个撇号,使用
PreparedStatement
及其
setParameter()
方法。它将为您处理诸如转义之类的事情,您永远不必怀疑特定的数据库可能会如何处理这些事情。它还阻止SQL注入,因此没有理由不使用它。

不相关,但是:
distinct
不是一个函数(不是向下投票,因为这在技术上是正确的,但是…)不,不要自己逃避它们-这只是掩盖了一个更大的问题:op可能(可能)对SQL注入开放。使用事先准备好的陈述(正如其他答案所述),你甚至不必自己做逃避。不应该有任何理由需要为了一个陈述而逃避自己。
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("'", "/'")+"'";  
String FUNC_VP = "Chris O''Connor/Henry/George";