FineReport图书管理清单报表,可多条件搜索同时搜索

1、新建查询数据集

先确保数据库已经与帆软相连接,可先在数据库中写好所需要的查询语句,直接粘贴进帆软即可。我这里的是图书表、借阅表、读者表三表关联出来的借阅信息。
在这里插入图片描述

2、制作借阅信息清单报表

创建数据集成功后,点击ds1,将展示出来的字段拖拽到对应的表格中位置,手动调整一下报表的样式
在这里插入图片描述

3、预览报表

点击保存,选择预览即可。
在这里插入图片描述
在这里插入图片描述

4、给报表添加查询组件

正常在Navicat中的SQL语句

SELECT 
B.ISBN AS '图书编号', books.book_name AS '书名',B.reader_student_ID AS '读者学号',
R.reader_name AS '读者姓名', R.reader_sex AS '读者性别',R.reader_department AS '所在系',
B.borrow_date AS '借书时间',B.return_date AS '还书时间', B.is_renew AS '是否续借'FROM borrow B 
LEFT JOIN readers_information R ON B.reader_student_ID =R.reader_student_ID
LEFT JOIN books ON books.ISBN = B.ISBN 
WHERE R.reader_name = '杨思雨' 
AND books.book_name = '数据库教程' 
AND B.borrow_date = '2018-05-23' 
AND B.is_renew = 1
4.1、修改SQL查询语句,根据SQL语句自动添加筛选组件

先修改ds1数据集,增加查询条件
在帆软报表中的SQL语句

SELECT 
B.ISBN AS '图书编号',books.book_name AS '书名',B.reader_student_ID AS '读者学号',
R.reader_name AS '读者姓名', R.reader_sex AS '读者性别',R.reader_department AS '所在系',
B.borrow_date AS '借书时间', B.return_date AS '还书时间', B.is_renew AS '是否续借' FROM borrow B 
LEFT JOIN readers_information R ON B.reader_student_ID =R.reader_student_ID 
LEFT JOIN books ON books.ISBN = B.ISBN 
WHERE 1=1
${if(len(reader_name)==0,"","and R.reader_name='"+reader_name+"'")}
${if(len(book_name)==0,"","and books.book_name='"+book_name+"'")}
${if(len(borrow_date)==0,"","and B.borrow_date='"+borrow_date+"'")}
${if(len(is_renew)==0,"","and B.is_renew='"+is_renew+"'")}

点击组件设置中的参数会自动形成对应参数控件,同时选择控件类型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
保存预览后我们会发现报表只显示了筛选条件
在这里插入图片描述

点击查询按钮后才会显示借阅表信息的表格
在这里插入图片描述如果想不点击查询按钮直接展示借阅表信息的表格,需要将“点击前不显示报表内容”的勾选项去掉后,就会在没有参数的时候展示借阅表信息的表格
在这里插入图片描述
在这里插入图片描述
由于日期框内有默认日期,所以借阅表没有任何信息,若想展示全部借阅数据,点击日期控件,在控件设置的属性-高级-控件值,选择公式,点击下面的小框框打开公式自定义公式弹框,输入公式并检验合法性,合法后确定-保存-预览。
在这里插入图片描述在这里插入图片描述

4.2 手动添加筛选组件,根据需要输入筛选内容组件的控件名称进行修饰SQL查询语句

在这里插入图片描述

在帆软报表中的SQL语句

SELECT 
B.ISBN AS '图书编号',books.book_name AS '书名',B.reader_student_ID AS '读者学号',
R.reader_name AS '读者姓名', R.reader_sex AS '读者性别',R.reader_department AS '所在系',
B.borrow_date AS '借书时间', B.return_date AS '还书时间', B.is_renew AS '是否续借' FROM borrow B 
LEFT JOIN readers_information R ON B.reader_student_ID =R.reader_student_ID 
LEFT JOIN books ON books.ISBN = B.ISBN 
WHERE 1=1
${if(len(读者姓名)==0,"","and R.reader_name='"+读者姓名+"'")}
${if(len(图书名称)==0,"","and books.book_name='"+图书名称+"'")}
${if(len(借阅时间)==0,"","and B.borrow_date='"+借阅时间+"'")}
${if(len(是否续借)==0,"","and B.is_renew='"+是否续借+"'")}

5、设置is_renew的下拉选择框数值

选中is_renew下拉选择框,在控件设置-属性中找到数据字典,打开数据字典弹框,选择类型设置为自定义,添加值,添加的实际值要和数据库中is_renew字段值对应。
在这里插入图片描述

在这里插入图片描述

6、测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值