最近在项目中遇到一个问题,就是带单引号的查询会报错,比如:
String = "U2A_Let's talk"
SELECT * FROM work_info WHERE work_name = wkName
查询的时候就会变成:
SELECT * FROM work_info WHERE work_name = 'U2A_Let's talk'
此时去数据库里查询必然报错,后来也没有想到什么太好的办法,就在sql语句前用replaceAll替换一下,问题解决了,如下:
wkName = wkName.replaceAll("'", "''");
这里可能不是最好的方法,哪位有更好的方法请不啬赐教,我这儿就当是抛砖引玉了。