今天在大批量操作数据时,遇到此问题,解决如下: if(cateName.indexOf("'")!=-1){ oql = " select * where name = '"+cateName.replace("'", "''")+"' "; }else{ oql = " select * where name = '"+cateName+"' "; }先对参数进行判断,当参数中含有单引号时,用"''"替换单引号;