1、新建查询数据集

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

图书借阅 python 图书借阅登记表_SQL

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

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

图书借阅 python 图书借阅登记表_控件_02

3、预览报表

点击保存,选择预览即可。

图书借阅 python 图书借阅登记表_其他_03


图书借阅 python 图书借阅登记表_图书借阅 python_04

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+"'")}

点击组件设置中的参数会自动形成对应参数控件,同时选择控件类型

图书借阅 python 图书借阅登记表_图书借阅 python_05


图书借阅 python 图书借阅登记表_控件_06


图书借阅 python 图书借阅登记表_数据库_07


保存预览后我们会发现报表只显示了筛选条件

图书借阅 python 图书借阅登记表_其他_08

点击查询按钮后才会显示借阅表信息的表格

图书借阅 python 图书借阅登记表_其他_09

如果想不点击查询按钮直接展示借阅表信息的表格,需要将“点击前不显示报表内容”的勾选项去掉后,就会在没有参数的时候展示借阅表信息的表格

图书借阅 python 图书借阅登记表_数据库_10


图书借阅 python 图书借阅登记表_SQL_11


由于日期框内有默认日期,所以借阅表没有任何信息,若想展示全部借阅数据,点击日期控件,在控件设置的属性-高级-控件值,选择公式,点击下面的小框框打开公式自定义公式弹框,输入公式并检验合法性,合法后确定-保存-预览。

图书借阅 python 图书借阅登记表_数据库_12

图书借阅 python 图书借阅登记表_其他_13

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

图书借阅 python 图书借阅登记表_数据库_14

在帆软报表中的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字段值对应。

图书借阅 python 图书借阅登记表_其他_15

图书借阅 python 图书借阅登记表_图书借阅 python_16

6、测试

图书借阅 python 图书借阅登记表_数据库_17


图书借阅 python 图书借阅登记表_SQL_18


图书借阅 python 图书借阅登记表_图书借阅 python_19


图书借阅 python 图书借阅登记表_控件_20


图书借阅 python 图书借阅登记表_SQL_21

图书借阅 python 图书借阅登记表_控件_22