StringBuffer sql = new StringBuffer("select count(*) cnt from  "
+ _z.getTARGET_TABLENAME() + "  " + " where " +_z.getTARGET_WHERESQL().replaceAll(
"\\{MAXDATE\\}", maxdate)+ " and exists(select *  from "
+ _z.getSOURCE_TABLENAME() + " where "+_z.getSOURCE_WHERESQL().replaceAll(
"\\{MAXDATE\\}", maxdate) + " and " + _z.getSORKEYID()
+ "=" + _z.getTARGET_TABLENAME() + "." + _z.getTARKEYID()
+ ")");
replaceAll("\\{MAXDATE\\}", maxdate)  这样去拼接替换可以吗? 

解决方案 »

  1.   

    在类中用JDBC中PreparedStatement会让你的代码更清晰
      

  2.   

    这样不好,会引起数据库sql注入问题。
    建议使用preparedStatement
      

  3.   

    这只是一个SQL语句的拼接而已,
      

  4.   

    你在debug调试的时候看下没有错误就OK了!
      

  5.   

    直接用StringBuffer的append方法就行了啊    你用+  效率会低很多的