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

use*_*326 0 java db2

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

错误

com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-10, SQLSTATE=42603, SQLERRMC=', DRIVER=3.63.123
Run Code Online (Sandbox Code Playgroud)

Java的

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

Kay*_*man 8

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