James.Lv 发表于 2021-8-3 10:38:49

SQL语句使用参数技巧

本帖最后由 James.Lv 于 2021-8-3 18:20 编辑

报表设计中常常需要分析展示数据库的数据,展示数据库数据时呢,通常我们需要根据参数来进行数据过滤查看,那么AR怎么实现SQL语句添加参数进行过滤。本贴就来详细进行介绍


重点:因为AR连接不同数据库使用的驱动不同,所以每种数据库的参数语法不同
MySQL: ?
SQLServer:@参数
Oracle::参数

具体实现步骤:
桌面端设计器
一、SQLServer数据库
1.添加SQLServer数据源


2.添加报表参数


2.添加数据集,SQL语句使用参数进行过滤


4.预览即可看到效果


二、MySQL数据库
设计方式跟上面的设计方式是完全一致的,只不过SQL语句调用参数写法有区别
select * from Demo_销售明细where销售大区=?


这里要注意一点,?跟参数的顺序是一致,第一个?代表第一个参数,第二个?代表第二个参数
如果您需要在SQL中重复调用参数时,需要使用动态拼接字符串的方式来实现
select * from 销售明细 where 销售大区 like '%{IIF(@p1 = "", "", @p1)}%'

三、Oracle数据库设计方式跟上面的设计方式是完全一致的,只不过SQL语句调用参数写法有区别
select * from Demo_销售明细where销售大区=:大区


Web端设计器
设计思路跟桌面端是一样的,只是在数据集这块界面稍微不同



qbsoft 发表于 2022-3-4 15:17:06

之前直播看老师用的都是'" &Parameters!地区.Value &"'或者?,然后我连接的是sql server一直说类型有问题,原来是使用@

Bella.Yuan 发表于 2022-3-4 15:22:39

qbsoft 发表于 2022-3-4 15:17
之前直播看老师用的都是'" &Parameters!地区.Value &"'或者?,然后我连接的是sql server一直说类型有问 ...

这个和版本也有关系哦,以您使用的版本为主呢~您使用的是15版本,15版本的参数是这样写的。

qbsoft 发表于 2022-3-4 15:24:13

Bella.Yuan 发表于 2022-3-4 15:22
这个和版本也有关系哦,以您使用的版本为主呢~您使用的是15版本,15版本的参数是这样写的。

{:4_86:}好

Bella.Yuan 发表于 2022-3-4 15:34:27

qbsoft 发表于 2022-3-4 15:24


:mj72:
页: [1]
查看完整版本: SQL语句使用参数技巧