public void updateSendMessage(String operateID) throws Exception{ StringBuffer buffer = new StringBuffer(100);
buffer.append("UPDATE PrpLcertifyMessage ");
buffer.append("SET smContent = '尊敬的' ");
buffer.append("||personName|| ");
buffer.append("':您' ");
buffer.append("||licenseno|| ");
buffer.append("'赔案赔案因缺少资料无法支付赔款,'")
  .append("'请您尽快到我司柜面提供,我们将及时为您办理,谢谢。xxxx祝您一路平安!' ,");
buffer.append("validstatus = '1' ");
buffer.append("WHERE operateid = ? ");
buffer.append("AND mobile IS NOT NULL");
if (logger.isDebugEnabled()) {
logger.debug(buffer.toString());
}
PreparedStatement preparedStatement = connection.prepareStatement(buffer.toString());
preparedStatement.setString(1, operateID);
preparedStatement.executeUpdate();
}

解决方案 »

  1.   

    我建议你不要拼 SQL,使用 ? 占位符。
      

  2.   

    我主要是想知道
    buffer.append("||personName|| ");
    buffer.append("':您' ");
    buffer.append("||licenseno|| ");
    这个对程序有什么影响??谢谢火龙哥:)
      

  3.   

    就是上面的||符号,在oracle中运行是没问题的。
      

  4.   

    || 只在 oracle中有吧,你在程序里拼,为什么还要用 || ,你直接字符串拼接不好啊。