[转-来自啊泰]简单介绍一下水晶报表的推与拉两种模式 [http://www.cnblogs.com/babyt/archive/2005/04/12/135849.html]

水晶报表的数据获取模式本来是个最基本的概念,奈何总还是有人问
我用Push模式做了个报表,请问什么是push模式? 呵呵
索性就再来说一说

水晶报表是强大的数据分析工具,如何将水晶报表与数据关联起来就是我们在这里要说的问题

一种就是水晶报表直接从数据库(数据源)中获取数据,就是水晶报表去拉(Pull),也叫提取.

比如我们在选取数据源的时候选的
Access/Excel
ODBC
OLEDB
可以直接访问到数据
这样基本上不需要编写什么代码,做好模板就OK,到时候直接调模板就可以了
但是在部署或数据库等发生变动时就比较麻烦了


另外一种就是数据库将数据"推(Push)"给水晶报表,这个推的关系需要你自己写代码来实现
当然,推模式之前也需要先制作模板,
这个时候我们就可以使用字段定义的方式或ADO.Net(XML)的方式
字段定义的方式是生成一个字段定义文件,这个文件模式成一个表结构映射给水晶报表
然后在程序中组合或获取数据到Recordset,将这个Recordset推入到水晶报表。
参见
http://www.cnblogs.com/babyt/articles/116878.html
http://www.cnblogs.com/babyt/articles/116880.html

而Ado.Net则是以一个Xml文件做为字段定义文件
在程序中组合或获取数据到DataSet来填充报表数据
参见
http://www.cnblogs.com/babyt/articles/118097.html
http://www.cnblogs.com/babyt/articles/118098.html

 

使用该方式的好处是便于部署,但是代码要多写不少.
不过我还是喜欢这一种,因为使用该方式不仅可以更灵活的组织数据库里的数据,甚至可以自行任意组织数据.
更加灵活可控
比如,我们还可以使用WebService的数据来实现本地报表
http://www.cnblogs.com/babyt/articles/133399.html

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值