浏览代码

在处理模板中的field的过程中,替换sql中的where条件时,不能使用substring替换where之后的字符,而应只替换where部分,保留后面的字符

sunyj 8 年之前
父节点
当前提交
b79f6c5f0e
共有 1 个文件被更改,包括 1 次插入2 次删除
  1. 1 2
      src/main/java/com/uas/report/service/impl/PrintServiceImpl.java

+ 1 - 2
src/main/java/com/uas/report/service/impl/PrintServiceImpl.java

@@ -348,8 +348,7 @@ public class PrintServiceImpl implements PrintService {
 			String queryString = queryStringElement.getText();
 			// 如果查询语句中含有WHERE_CONDITION参数,需将其替换掉
 			if (queryString.contains("$P!{WHERE_CONDITION}")) {
-				queryString = queryString.substring(0, queryString.indexOf("$P!{WHERE_CONDITION}"))
-						+ "where rownum = 0";
+				queryString = queryString.replace("$P!{WHERE_CONDITION}", "where rownum = 0");
 			}
 			// 如果查询语句中含有where条件,则可能有用到一些参数,需将其替换掉
 			else if (queryString.toUpperCase().contains("WHERE")) {