查询参数需要设置为如果条件a有值,条件b就不使用

效果:查询参数a,b, c等。其中a和b互斥,如果a有值,b就不能有值,反之亦然。

实现方式:在控件a写事件,控件a获取到值,则控件b设置额为不可见。

sql的写法:

and 参数a=nvl('${a}','${a}','<> null')

and 参数b=nvl('${b}','${b}','<> null')

结果:报错,

FineReport Shaofeng 发布于 2020-8-3 10:45
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2020-8-3 10:51

sql改成

${if(len(参数a)=0,"","and 字段a='"+参数a+"'")}

${if(len(参数b)=0,"","and 字段b='"+参数b+"'")}

  • Shaofeng Shaofeng(提问者) oracle的数据库,sql可以这样写吗。这个是在\'${}\'里面做判断吗
    2020-08-03 11:01 
  • snrtuemc snrtuemc 回复 Shaofeng(提问者) 这个是在帆软sql数据集写的,去查询Oracle数据库是可以的
    2020-08-03 11:02 
  • Shaofeng Shaofeng(提问者) 这个两个参数都是从控件里面传过来的
    2020-08-03 11:02 
  • snrtuemc snrtuemc 回复 Shaofeng(提问者) 支持的,换成你自己的控件名称就可以
    2020-08-03 11:07 
  • Shaofeng Shaofeng(提问者) https://www.cnblogs.com/yangzhenlong/p/3227461.html. 有朋友需要更仔细地说明,请这边看。
    2020-08-03 17:43 
最佳回答
0
shirokoLv6资深互助
发布于2020-8-3 10:49

${if(len(b)=0," and 字段a='"+a+"'","")}

${if(len(a)=0," and 字段b='"+b+"'","")}

  • 3关注人数
  • 395浏览人数
  • 最后回答于:2020-8-3 10:51
    请选择关闭问题的原因
    确定 取消
    返回顶部