ReportBuilder中占位列的使用
2008-04-26 17:13
99 查看
ReportBuilder中的列类型包括公式列、汇总列、占位列等。一般公式列、汇总列用的比较多,这里不再详述。下面主要讲占位列的一种使用方法。
日前做的应用中,需要20个公式列来取值,而每个公式列都使用同样from、where子句的sql语句,唯一区别在于所取的字段不同。这样需要20次的读取操作,速度比较慢。一开始考虑再使用一个query来做,但是又没有明确的连接关系,无法达到目的。
最后决定研究一下占位列,具体的过程不再赘述,介绍一下实现方法。
1、首先建立一个公式列,19个占位列,分别取名为CF_1,CP_2,CP_3……,CP_20。
2、在公式列的PL/SQL中一次将所有值取出:
SELECTCOL1,COL2,COL3……COL20
INTOV_COL1,:CP_2,:CP_3……:CP_20
FROMTABLE1
WHERET_DATE=SYSDATEANDT_DEPT=:P_1;
RETURNV_COL1;
而占位列中不写任何的PL/SQL。
3、在编辑报表页面时,将这些占位列作为域的数据源。
优点:只需要一次数据库读取操作,速度较快。并且由于主要的逻辑均放在CF_1那个公式列中,方便维护。
需要注意的是列的顺序,最好将CF_1公式列放在占位列的前面。实际上这里是将占位列作为变量来使用,方便了和维护。
日前做的应用中,需要20个公式列来取值,而每个公式列都使用同样from、where子句的sql语句,唯一区别在于所取的字段不同。这样需要20次的读取操作,速度比较慢。一开始考虑再使用一个query来做,但是又没有明确的连接关系,无法达到目的。
最后决定研究一下占位列,具体的过程不再赘述,介绍一下实现方法。
1、首先建立一个公式列,19个占位列,分别取名为CF_1,CP_2,CP_3……,CP_20。
2、在公式列的PL/SQL中一次将所有值取出:
SELECTCOL1,COL2,COL3……COL20
INTOV_COL1,:CP_2,:CP_3……:CP_20
FROMTABLE1
WHERET_DATE=SYSDATEANDT_DEPT=:P_1;
RETURNV_COL1;
而占位列中不写任何的PL/SQL。
3、在编辑报表页面时,将这些占位列作为域的数据源。
优点:只需要一次数据库读取操作,速度较快。并且由于主要的逻辑均放在CF_1那个公式列中,方便维护。
需要注意的是列的顺序,最好将CF_1公式列放在占位列的前面。实际上这里是将占位列作为变量来使用,方便了和维护。
相关文章推荐
- win10系统下使用EDGE浏览器找不到Report Builder 启动图标
- SQL Server Report Builder 2.0中使用custom code实现sum distinct
- 一篇介绍Reportt Builder的文章
- ElasticSearch BoolQueryBuilder使用
- view右对齐 findviewbyid dialogbuilder SharedPreference 的使用
- FastReport.Net 使用字符串
- SpriteBuilder&Cocos2D使用CCEffect特效实现天黑天亮过度效果
- hibernate+spring+mvc+Easyui框架模式下使用grid++report的总结
- CocosBuilder工具使用(包仔的个人经验)
- [cocos2dx开发技巧1]工具CocosBuilder的使用--demo介绍
- Report Builder 開發笔记--獲取系統參數request id,user id 等
- 使用grid++report打印选中行
- 使用ActiveReport for .net 进行报表开发(一)--开始
- CKEditor学习 | div的float属性 | margin:0px auto和text-align居中对齐的区别 | Fireworks网页切片 | ReportViewer的简单使用
- 使用Eclipse+WindowBuilder Pro开发GUI程序
- statspack安装使用 和 report 分析
- winform中使用ReportViewer的时候,找不到报表数据面板.
- android NotificationCompat.Builder 使用
- Fastreport.net 如何在开发MVC应用程序时使用报表
- Infopath 2007 使用实践(占位)