注册
登录
标签
统计
帮助
杰表技术论坛
»
简表(JOR)
» 关于链接的多参数获取方法以及显示格式问题
‹‹ 上一主题
|
下一主题 ››
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
关于链接的多参数获取方法以及显示格式问题
jennifer
版主
发短消息
加为好友
当前离线
1
#
大
中
小
发表于 2010-11-24 14:09
显示全部帖子
你这个问题,参照:
http://www.jatools.com/doc/guide/paratab1307.htm
UID
7
帖子
104
精华
0
积分
0
阅读权限
100
在线时间
116 小时
注册时间
2008-8-27
最后登录
2013-9-16
查看详细资料
TOP
jennifer
版主
发短消息
加为好友
当前离线
2
#
大
中
小
发表于 2010-11-24 14:09
显示全部帖子
不预定义参数变量的参数
Previous Page
Next Page
前面所述参数,都是预先在模板中定义一个参数变量,设置类型、默认值等,如图 1(b)所示。实际上,你不一定得先定义参数变量,请看下面的SQL,注意,使用该SQL的报表模板没有定义year参数变量。
select * from 订单查询 where 年份=${iif(year,1996)} Sql里面有一个宏,宏里有一个iif全局脚本函数,该函数方法的定义如下:
//如果val1不存在,则取val2值,如果存在,则取val1值Object iif(val1,val2)则当指定year与不指定year的url,上述sql等价于:
// http://localhost:8189/jrs2008/server?file=d:/test3.xml&as=dhtml// year参数值没指定,使用val2值,上述sql等价于select * from 订单查询 where 年份=1996 // http://localhost:8189/jrs2008/server?file=d:/test3.xml&as=dhtml&year=1995// year参数值被指定为1995,上述sql等价于select * from 订单查询 where 年份=1995
UID
7
帖子
104
精华
0
积分
0
阅读权限
100
在线时间
116 小时
注册时间
2008-8-27
最后登录
2013-9-16
查看详细资料
TOP
jennifer
版主
发短消息
加为好友
当前离线
3
#
大
中
小
发表于 2010-11-24 14:10
显示全部帖子
不指定参数则不过滤
有时,用户在web页面上,没有指定某一参数值,这时,不需要任何过滤,比如:
select * from 订单查询 where 1==1 ${has(year)?(”and 年份=”+year):””)}宏里面是一个三元运算符(?:),前面has(year)表示用户是否指定了year参数,has是一个判断一个变量是否存在的全局函数,请仔细体会指定与不指定year参数时的sql:
// http://localhost:8189/jrs2008/server?file=d:/test3.xml&as=dhtml// year参数值没指定,宏返回空串,上述sql等价于select * from 订单查询 where 1==1 // http://localhost:8189/jrs2008/server?file=d:/test3.xml&as=dhtml&year=1995// year参数值被指定为1995,上述sql等价于select * from 订单查询 where 1==1 and 年份=1995提示:
不指定参数不过滤,只能用于不预定义参数的情况;
你可以使用全局函数判断一个变是否存在;
where 1==1 是一个技巧,可以简化不指定不过滤sql的写法;
在一个sql中,可以出现多个宏。比如 select * from 订单查询 where 1==1 ${has(year)?(”and 年份=”+year):””)} ${has(region)?(”and 地区=’”+region+”’”:””)}
[
本帖最后由 jennifer 于 2010-11-24 14:12 编辑
]
UID
7
帖子
104
精华
0
积分
0
阅读权限
100
在线时间
116 小时
注册时间
2008-8-27
最后登录
2013-9-16
查看详细资料
TOP
‹‹ 上一主题
|
下一主题 ››
最近访问的版块
杰表云打印(JCP),jatoolsPrinter
杰表.bi解决方案
杰表云打印(JCP),jatoolsPrinter
杰表.web条形码
java开源技术