|
版本: |
X5.2.7 |
小版本号: |
|
|
|
数据库: |
MS SQLServer |
服务器操作系统: |
|
应用服务器: |
|
客户端操作系统: |
|
浏览器: |
|
|
|
demo参数查询案例中, if(!"".equals(name))不明白意思。!代表什么""代表什么.equals代表什么?个人开始理解为判断name参数是否为空,不为空执行,但是在实际应用中,我没有设置name的参数框,同样执行了此条件判断中的语句。附案例脚本如下:
public static Table parameterFilterQuery(String name, String id){
String oracle = "SELECT RPRODUCTID , RPRODUCTNAME , (SELECT RCATEGORYNAME FROM DEMO_REPORTPRODUCTCATEGORY WHERE DEMO_REPORTPRODUCTCATEGORY.RCATEGORYID = DEMO_REPORTPRODUCTS.RCATEGORYID) AS RCATEGORYNAME , (SELECT RCOMPANYNAME FROM DEMO_REPORTSUPPLIERS WHERE DEMO_REPORTSUPPLIERS.RSUPPLIERID = DEMO_REPORTPRODUCTS.RSUPPLIERID)AS RCOMPANYNAME,RQUANTITYPERUNIT,RUNITPRICE,RUNITSINSTOCK FROM DEMO_REPORTPRODUCTS";
String mssql = "SELECT RPRODUCTID , RPRODUCTNAME , (SELECT RCATEGORYNAME FROM DEMO_REPORTPRODUCTCATEGORY WHERE DEMO_REPORTPRODUCTCATEGORY.RCATEGORYID = DEMO_REPORTPRODUCTS.RCATEGORYID) AS RCATEGORYNAME , (SELECT RCOMPANYNAME FROM DEMO_REPORTSUPPLIERS WHERE DEMO_REPORTSUPPLIERS.RSUPPLIERID = DEMO_REPORTPRODUCTS.RSUPPLIERID)AS RCOMPANYNAME,RQUANTITYPERUNIT,RUNITPRICE,RUNITSINSTOCK FROM DEMO_REPORTPRODUCTS";
oracle += " WHERE 1=1 ";
mssql += " WHERE 1=1 ";
if(!"".equals(name)){
oracle += "and RPRODUCTNAME like '%"+name+"%' ";
mssql += "and RPRODUCTNAME like '%"+name+"%' ";
}
if(!"".equals(id)){
oracle += String.format("and RPRODUCTID = '%s' ", id);
mssql += String.format("and RPRODUCTID = '%s' ", id);
}
|
|