起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2216|回复: 1

[结贴] 报表查询参数问题

[复制链接]

9

主题

29

帖子

126

积分

初级会员

Rank: 2

积分
126
QQ
发表于 2014-7-9 18:12:56 | 显示全部楼层 |阅读模式
版本: 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);
  }

242

主题

1418

帖子

2325

积分

金牌会员

批判主义者

Rank: 6Rank: 6

积分
2325
QQ
发表于 2014-7-9 18:46:23 | 显示全部楼层
if(!"".equals(name))表示name不是空串时执行if里面的

评分

参与人数 1 +4 收起 理由
jishuang + 4 赞一个!

查看全部评分

如果我说对了 请别忘记点赞.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-19 05:01 , Processed in 0.093121 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表