`
jiasongmao
  • 浏览: 648468 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

水晶报表

 
阅读更多

      在ASP.NET程序开发中,经常要对合并计算、多级汇总、制作图表、条件格式化进行编程。在这种情况下,用普通的数据绑定往往一筹莫展。而水晶报表(Crystal Report)大大简化了这些工作,用它可以制作非常漂亮的图表和格式化文本,而且还可以把报表导出为Word、Excel、PDF、HTML等格式。

1.水晶报表的执行模式
水晶报表程序控制上有两种模式,也就是是拉(PULL)模式和推(PUSH)模式。选择的模式不同,后续的实现也会有很大差别。

1.1拉(PULL)模式
所谓的拉模式,是由水晶报表模板(引擎)直接连接数据库,从数据库里拉取数据。通常情况是我们在水晶报表里设置好数据库信息,以及相关的表,当我们在程序中调用水晶报表引擎,挂载模板后,水晶报表引擎会根据模板里的数据库信息,及表信息主动连接数据库,返回数据给报表模板,模板根据设计样式进行呈现。
1.2推(PUSH)模式
所谓的推模式,由应用程序从数据库获取数据,然后把数据推送给水晶报表引擎。水晶报表本身不不跟数据库进行交互。
1.3拉模式与推模式的对比
使用推(PUSH)模式将会比拉(PULL)模式要多写一些代码。但是拉(PULL)模式比推(PUSH)执行效率高。
另一方面,拉(PULL)模式是由水晶报表连接的数据库,水晶报表引擎单独占用了一个数据库连接。而只有在水晶报表对象释放后,数据库连接才会释放,而这个时段对系统时间来说,是比较长的,特别是如果要翻页等需要长时间连接数据库的情况。而在推(PUSH)模式中,数据库是由应用程序去连接的,水晶报表本身不连接数据库。这样,系统就能使用公用的数据库连接。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics