zoukankan      html  css  js  c++  java
  • FineReport: 参数为空选出全部值(按条件查询,空条件时直接过滤,不进行查询。。)

    Java报表软件FineReport中,选择特定的参数(如下图中的姓名、身份证号等)后,会返回我们要查询的数据,然而假如没有输入参数值,我们却仍需要返回数据时该怎样处理呢?应该过滤掉这个条件,不按这个条件查询。

    1.定义数据源

      新建名为ds1的数据库查询,SQL语句:

    SELECT * FROM SHAREIDEADBA."RINCERETBCHILDREN" 
           where 1=1 
    
          ${if(len(txtname) == 0,"","and childname = '" + txtname + "'")} 
            ${if(len(txtcard) == 0,"","and idcard like '%" + txtcard + "%'")}

        解释: 

          SHAREIDEADBA."RINCERETBCHILDREN"为表名

          where 1=1表示条件永真,防止没有之后的参数条件时,where多出而导致出错;

          txtname txtcard分别代表姓名输入框、身份证号模糊查询输入框的控件名属性值,如下图所示

    Ÿ           len(txtname) == 0表示参数为空;

    Ÿ           ${if(len(txtcard) == 0,"","and idcard like '%" + txtcard + "%'")}表示当参数txtcard为空时,就返回空字符串,否则返回查询条件

               idcard like '%" + txtcard + "%'")  。。

    2.设计模板(省略了...)

    3.结果:

      一、不输入查询条件时,查看所有信息

      

        二、按姓名查询

                  

        三、按姓名和身份证号查询

     ok了,可浪费了我整整一个早上的时间才做出来。。。。

    逃避不一定躲得过,面对不一定最难过
  • 相关阅读:
    【NOI2008】志愿者招募
    【2010国家集训队】人员雇佣
    html5手机移动端三级联动城市选择器
    WebSocket实现简单的在线聊天
    游戏开发完整学习路线(各个版本都有)
    vs下开发windows服务程序
    解决Firefox下,页面元素不刷新问题
    C# JObject和JArray 的分享
    jQuery如何改变css伪元素样式
    safari 浏览器window.history.go(-1)运行无效解决办法
  • 原文地址:https://www.cnblogs.com/yangzhenlong/p/3227461.html
Copyright © 2011-2022 走看看