Eden.Sun 发表于 2024-3-22 10:45:08

【ActiveReports17】动态SQL查询报表

本帖最后由 Eden.Sun 于 2024-3-22 16:34 编辑

新版的AR已经发布很久了,今天我们以当前最新的AR17介绍动态SQL报表的设计。


1. 创建数据源:
   以 MySQL 数据库为例,先在服务器上安装 MySQL 驱动,然后就能连我们的数据库了;
Driver={MySQL ODBC 8.0 Unicode Driver};
Server=数据库地址;
Port=数据库端口;
Database=数据库名称;
User=用户名;
Password=密码;
Option=3;




2. 创建数据集
   先创建一个不带参数的数据集,获取到我们需要的数据字段。
select * from 数据库表名称



   然后添加两个参数:


3. 编写动态SQL
   参数创建完成之后,在返回到刚才数据集中,修改刚才的 SQL 语句。把报表参数添加到 SQL 语句中。
   动态 SQL 的原理是在数据库查询语句之中,结合报表的表达式,在再生成 SQL 语句之前根据参数值计算出一个结果,从而实现报表的动态构建。
select * from 销售明细 销售大区 where 1=1 {IIF(@销售大区 = "", "", " and 销售大区='" & @销售大区 & "'")}{IIF(@销售省份 = "", "", " and 销售省份='" & @销售省份 & "'")}

   


4. 报表
   在报表中添加一个文本框,把数据集的 SQL 语句输入进去,可以在预览时,看到实际执行的 SQL 语句。
   再添加一个表格查看数据。


5. 查看效果


以上就是动态 SQL 报表在新版本上的设计过程,近来有很多小伙伴都问过这个问题,这里做一个简单的介绍。附件是设计好的报表模板,有需要的可以参考使用。由于附件是使用的我们内部的数据库,预览可能会有问题,下载之后需要根据实际的数据表字段修改之后才可以正常使用。不过设计思路和方式是一致的。
页: [1]
查看完整版本: 【ActiveReports17】动态SQL查询报表