下拉复选多值模糊查询

编辑
  • 文档创建者:axing
  • 浏览次数:5127次
  • 编辑次数:3次
  • 最近更新:Kevin-s 于 2019-06-03
  • 1. 问题描述

    使用下拉复选框选择多个值后,如何实现按照每个值去模糊查询,如下:

    222

    2. 解决思路

    通过 SQL 来处理,不同的数据库处理方法不一样,下面分别介绍。


    3. 解决步骤

    3.1 Oracle 数据库解决方案


    主要使用 regexp_like()函数来解决。

    1)新建数据查询(使用 Oracle 数据库内置的 emp 表),注意:没有 % 号。

    select * from emp where regexp_like(ename,'${name}')

    222

    2)报表设计如下:

    222

    3)设置控件添加数据字典

    222

    4)设置控件返回值类型为字符串,分隔符为 | 符号。

    222

    5)保存预览即可。


    3.2 MySQL 数据库解决方案

    MySQL 实现方式与 Oracle类似,不同的是要使用rlike关键字,注意:没有%号如:select * from emp where ename rlike '${name}'

    或者使用 regexp 关键字,注意:没有%号如:select * from emp where ename regexp '${name}'

    其他步骤与 Oracle 方案一样。


    3.3 sqlserve 数据库解决方案

    sqlserver 没有类似的关键字来解决,只能通过老办法拼接字符串。

    数据查询如下,注意:有%号select * from emp where ename like '%${name}%'

    下拉复选框返回值类型为字符串,分割符为%' or ename like '%

    222

    其他步骤与 Oracle 方案一致。

    此方案不仅适用 sqlserver,也适用其它数据库。


    3.4 注意事项

    如果出现以下提示:

    222

    则是系统开启了 SQL 防注入,可在考虑安全后取消 or 关键字注入,如下:

    222


    4. 预览效果

    4.1 PC 端预览效果

    保存模板,点击预览,实现效果如描述中所示。

    4.2 移动端预览效果

    1)App 效果

    222

    2)H5 效果

    222

    5. 已完成模板

    已完成模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\MultiValue\下拉复选模糊查询.cpt

    点击下载模板

    附件列表


    主题: 参数应用
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]