找回密码
 立即注册

QQ登录

只需一步,快速开始

James.Lv 讲师达人认证 悬赏达人认证 活字格认证 Wyn认证

超级版主

222

主题

2650

帖子

5892

积分

超级版主

Rank: 8Rank: 8

积分
5892

活字格认证活字格高级认证Wyn高级认证Wyn认证微信认证勋章讲师达人元老葡萄悬赏达人

[ActiveReports] SQL语句使用参数技巧

James.Lv 讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-8-3 10:38  /   查看:3956  /  回复:4
本帖最后由 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端设计器
设计思路跟桌面端是一样的,只是在数据集这块界面稍微不同




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

4 个回复

倒序浏览
qbsoft
初级会员   /  发表于:2022-3-4 15:17:06
沙发
之前直播看老师用的都是'" &  Parameters!地区.Value &"'或者?,然后我连接的是sql server一直说类型有问题,原来是使用@
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于: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版本的参数是这样写的。

回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-3-4 15:34:27
5#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部