Forráskód Böngészése

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

sunyj 8 éve
szülő
commit
b79f6c5f0e

+ 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")) {