中的列类型包括公式列、汇总列、占位列等。一般公式列、汇总列用的比较多,这里不再详述。下面主要讲占位列的一种使用方法。 日前做的应" name="description" />

ReportBuilder中占位列的使用

发表于:2007-05-25来源:作者:点击数: 标签:
Report Builder MI LY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的列类型包括公式列、汇总列、占位列等。一般公式列、汇总列用的比较多,这里不再详述。下面主要讲占位列的一种使用方法。 日前做的应

Report BuilderMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的列类型包括公式列、汇总列、占位列等。一般公式列、汇总列用的比较多,这里不再详述。下面主要讲占位列的一种使用方法。

日前做的应用中,需要20个公式列来取值,而每个公式列都使用同样fromwhere子句的sql语句,唯一区别在于所取的字段不同。这样需要20次的读取数据库操作,速度比较慢。一开始考虑再使用一个query来做,但是又没有明确的连接关系,无法达到目的。

最后决定研究一下占位列,具体的过程不再赘述,介绍一下实现方法。

1、首先建立一个公式列,19个占位列,分别取名为CF_1CP_2CP_3……CP_20

2、在公式列的PL/SQL中一次将所有值取出:

 

SELECT COL1,COL2,COL3……COL20

INTO V_COL1,:CP_2,:CP_3……:CP_20

FROM TABLE1

WHERE T_DATE = SYSDATE AND T_DEPT = :P_1;

RETURN V_COL1;

 

而占位列中不写任何的PL/SQL

3、在编辑报表页面时,将这些占位列作为域的数据源。

优点:只需要一次数据库读取操作,速度较快。并且由于主要的逻辑均放在CF_1那个公式列中,方便维护。

需要注意的是列的顺序,最好将CF_1公式列放在占位列的前面。实际上这里是将占位列作为变量来使用,方便了编程和维护。


原文转自:http://www.ltesting.net