基于web应用程序的水晶报表设计与开发论文内容摘要:
丰富模型以使我们能够在运行时操作属性和方法。 如果你正在使用 Visual 开发 .Net 程序,那么你就不需要再安装其它软件了,因为他已经内嵌在 Visual 中了。 6 水晶报表的功能 水晶报表可以 使用各种资料来源制作报表 ;水晶报表 享用功能强大的设计与格式设定功能 ;水晶报表 结合具弹性的分析 ;水晶报表 最快的报表处理能力 ;水晶报表 灵活的报表传送作业 ;水晶报表 可扩充的 Web 报表制作 ;水晶报表 取得您所需要的功能强大、弹性高的报表制作工具,将精巧的报表的制作功 能结合到您的 Windows 及 Web 应用程序。 充分运用针对网站 thinwire 环境设计的报表制作功能 ;水晶报表 支持应用程序的强大报表制作功能 ;水晶报表 享用前所未有的弹性与操控能力 ;水晶报表可用于 完成应用程序资料的报表。 水晶报表的优点 无论您是通过本地网络、公司 Intra 还是 Web 分发企业报表, Crystal Reports 强大的内置性能功能都会让您感受到 Web 报表不同凡响的发布速度。 即使您不应用本节所述的任何策略, Crystal Reports 也会自动提供这些主要的性能优 势: ( 1) 按需分配页技术 按需分配页的报表访问允许用户只下载需要查看的特定报表页,从而缩短了响应时间,减少了 Web 流量。 不仅如此,占位符和部分页技术还使您无须等待图形和子报表等大对象的处理,就能立即查看 Web 上的报表页和数据。 ( 2) 优化的多线程报表引擎 Crystal Report 引擎的多线程能力及线程安全数据库驱动程序使您能够在许多其他操作在后台进行的同时,继续执行您自己的重要任务。 此外,报表引擎减少了数据传递次数,通过改善的内存管理来加快处理速度,尽可能高效处理子报表和参数。 Visual 内置的水晶报表除了上述两大突出功能外,还具有以下一些显而易见的优势,这些优势通常是十分可观的。 快速的报表开发 ; 能够导出成为复杂的交互性图表; 可以与其它控件一起在 WebForm中使用; 能够动态地将报表导出成为 .pdf、 .doc、 .xls、 .html、 .rtf 等多种格式 水晶报表的结构 一些组件组成了水晶报表的二层结构,需要的 Web 应用有: 客户端 : 客户端仅需要一个可以访问嵌入 .aspx 页面报表的游览器就可以了 服务器 端 : ( 1) 水晶报表引擎( Crystal Report Engine ( ) ) 通过它可以完成一些任务,如在报告文件中合并数据,转换报告为其它格式等。 也正是因为报告引擎的作用,才可以将 中的水晶报表转换成为普通 HTML 格式。 ( 2) 水晶报表设计器( Crystal Report Designer( ) ) 水晶报表就是在设计器中创建的,在设计器中你可以设计标题,插入数据,公式,图表,子报表等。 ( 3) .rpt 报表文件 执行报表中的第一步就是在水晶报表设计器接口 创建此报表,在默认安装中微软已经提供了一些现成的 .rpt 例子。 ( 4) Data Source 7 .rpt 文件取得数据库的方法取决于你方法的选择,你能选择让水晶报表自己选择数据而不使用任何代码或者也可以选择手动的组装 DataSet,然后再将其传送到报表文件。 ( 5) 水晶报表查看控件( Crystal Report Viewer web form Control( ) ) 水晶报表查看控件是一个 WebForm控件,可以将它看成是一个在 .aspx 页面中存放报表的容器。 注 意:在一些复杂的操作中,报表服务器与 Web 服务器可能不在同一物理主机上, Web服务器将 HTTP 请求传送到报表服务器上去。 水晶报表也可以当 作 WebService 来执行。 水晶报表的执行模式 水晶报表取数据 主要 使用 两种方式 , 即 Pull(拉) 模式 和 Push(推) 模式。 ( 1) Pull(拉) 模式 : 被请求时,水晶报表直接根据指定的驱动连接数据库然后组装这些数据。 在拉模型中,驱动程序将连接到数据库并根据需要将数据“拉”进来。 使用这种模型时,与数据库的连接和为了获取数据而执行的 SQL 命令都同 时由 Crystal Reports 本身处理,不需要开发人员编写代码。 如果在运行时无须编写任何特殊代码,则使用拉模型。 Crystal Report 报表直接根据指定的驱动连接数据库然后组装这些数据 ( 2) Push(推) 模式 : 此时开发表不得不自己编写代码连接数据并组装 DataSet,同时将它传送至报表。 在这种情况下,通过使用连接共享以及限制记录集合的大小,可以使用报表性能最大化。 推模型需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。 该 方法使您可以将连接共享置入应用程序中,并在 Crystal Reports 收到数据之前先将数据筛选出来。 此时开发报表不得不自己编写代码连接数据并组装 DataSet,同时将它传送至报表。 在这种情况下,通过使用连接共享以及限制记录集合的大小,可以使用报表性能最大化。 水晶报表的报表类型 水晶报表设计器能够直接包含报表至工程也能够使用独立的报表对象。 ( 1) Stronglytyped 报表 : 当你将报表文件加入到项目中去时,它就变成了一个了 “ stronglytyped” 报表。 在这些情况下 ,你将拥有直接创建报表的对象的权力,这将减少一些代码并且能够提供一些性能。 ( 2) UnTyped 报表 : 这里的报表并不直接包含在项目中,因此称为“ untyped” 报表。 在这种情况下,你不得不使用水晶报表的 “ ReportDocuemt” 对象建立一个实例,并且 “ 手动 ” 地 调 用报表。 水晶报表 处理模型 Crystal Reports 使用三次传递建立报表方法来生成报表。 所谓 “传递” 就 是 Crystal Reports 每次读取和处理数据时所使用的过程。 根据报表的复杂性, Crystal Reports 可将数据传递 1 次、 2 次或 3 次。 这种功能使得可以处理复杂的报表和公式。 (见图 1 所示) 第 1 次预传递 预览报表时,被求值的第一批元素为“常量”公式。 常量公式是含有整个报表的常量值的公式。 它们对每个记录都是一样的。 例如, 100* 30 是常量公式。 常量公式在打印生成过程开始时求值,以后不再求值。 该过程称为“ BeforeReadingRecords”。 如果将常量公式字段 8 (即 100*30)放到“详细资料”节中,则对于所显示的每个记录,结果都是 3000。 第 1 次传递 在“ BeforeReadingRecords”过程发生后, Crystal Reports 开始读取数据库记录。 在记录读取过程中,将发生下列事项: ( 1) 检索记录。 在这一步中,将可能的记录选定和排序下推到数据库。 ( 2) 对重复性公式求值。 这些公式是那些包含数据库字段、但不包含引用小计或汇总信息的公式。 该求值时间称为“ WhileReadingRecords”。 包含对小计或汇总信息的引用的公式在第 2 次传递中处理。 ( 3) 在本地应用记录选定。 如果记录选定太复杂,以致不能下推到数据库, Crystal Reports 将在这一步中应用该记录选定。 ( 4) 排序、分组和总计。 在这一步中, Crystal Reports 对记录进行排序、分组,然后计算每组所需的小计和汇总。 ( 5) 交叉表、图表和地图生成。 在第 1 次传递中只生成完全基于数据库字段和反复性公式的交叉表、图表和地图。 如果这些对象包含运行总计和 /或 PrintTime 公式,它们将在第 2 次传递中生成。 ( 6) 存储保存的数据。 完成总计过程后,所有记录和总计都存储在内存和临时文件中。 Crystal Reports 不再读取数据库,而是在所有后继 处理中都使用这些已保存的数据。 第 2 次预传递 在第 2 次预传递过程中, Crystal Reports 将报表中的组按“最前 N 个 /最后 N 个”或“层次分组”排序。 Crystal Reports 在该过程中不读取记录,而是只查看来自第 1 次传递的组实例,并根据需要取“最前 N 个”排序,或者根据指定的“层次分组”设置对组排序。 第 2 次传递 Crystal Reports 进入第 2 次数据传递以格式化页面。 根据要求格式化页面。 这表示直到用户发出请求时,或为满足第 3 次传递的总页数要求, Crystal Reports 才格式化页面。 在页面格式化过程中, Crystal Reports 进行下列工作: ( 1) 组选定公式。 ( 2) 运行总计。 ( 3) 计算标记为“ WhilePrinting Records”的公式。 它们是包含对小计或汇总信息的引用的公式,也称为“ PrintTime”公式。 该求值时间称为“ WhilePrinting Records”。 ( 4) 交叉表、图表和地图。 包含运行总计和 /或 PrintTime 公式的交叉表、图表和地图以及基于交叉表的图表在第 2 次传递中生成。 ( 5) OLAP 网格。 ( 6) 子报表。 ( 7) 根据要求生成页。 第 3 次传递 在第 3 次、也是最后一次传递中决定总页数。 这一步适用于使用总页数或“第 N 页,共 M 页”等特殊字段的报表。 9 图 1 多次传递建立报表流程图 使用水晶报表的 注意事项 尽管水晶报表查看器拥有一些很 强大并且是由系统自带 的功能,如缩放、页面导航等。 但是他不提供打印功能,你不得不 自己编写打印程序或是 调用游览器的打印功能。 Visual 中的水晶报表如果没有 注册,那么它只能使用 30 次, 30 次后, “ 保存 ”功能就不能再使用了。 为了 无限次的使用水晶报表 ,你不 得 不在 默认安装的水晶报表只能支持 5 个用户, 当超过 5 个用户同时访问水晶报表时,请求将被视为无效, 为了支持更多的用户,你不得不在 证。 设计思想 当今世界已经进入一个信息化的时代,信息来自于多种媒体:文字,数据,图像,声音,电视„„;信息是流动的,变化的: 产生,传递,发布,提交,修改,审批„„;信息需要有序的管理:存储,分析,查询,统计„„。 随着网络快速发展,电子商务正悄悄的进入我们的生活,这使得人们可以 突破传统交易方式的空间地域限制 ,扩大自己的商业经营范围, 通过网络进行网上交易,不管是 交易时间 ,还是交易 费用 都将是传统交易所无法比拟的,最终消费者和商家将一起达到双赢。 消费者可以足不出户的和商家进行网上交易,经营商可以在交易的过程中通过动态的查看财务报表来了解自己的业务情况及其资金周转情况,从而完善自身的经营方式和决定自身的投资方向。 传统的 报表 主要以纸介质 为主,在信 息革命的浪潮中,特别是当前中国己经加入 WTO,对 报表 管理更要高速有效,显然传统的 报表 已经远远不能满足高效率、快节奏的现代工作和生活需要。 如何实现信息处理的自动化和 报表 的 “ 无纸化 ” 逐步得到了人们的重视。 因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用,从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理,从一般企业管理到计算机辅助设计与制造、计算机集成制造系统、办公信息系统、地理信息系统等,越来越多新的应用领域采用数据库存储和处理他们的信息资源 [2]。 尽管各种各样的信息系统 可能具有某些“取出可用”的分析 10 数据能力,但是大部分基于数据库的系统的用户都需要更多的功能来为他们的核心数据创建自己需要的视图。 这将需要大量的查询、绘图、电子数据表以及分析工具。 尽管如此,从公司信息系统中收集信息的最常用方法仍然是那些通过实践证明可靠的报表 [3]。 因此,采用Crystal Reports 数据库报表设计来完成财务信息汇总无疑是一种最佳的方法。 国内外 报表 研究现状 国外 报表 研究现状 在国外报表软件中,强大的“拖拽”功能是非常典型的特色,也就是说用户可以把一些数据连同其边框拖来拽 去,只须利用鼠标的简单“拖拽”就能够制作出复杂的报表,这 就 为习惯了烦琐的手工制表的用户着实带来了一份惊喜。 报表软件也有标准吗。 答案是肯定的。 应该看到,报表软件也属于一种开发工具,从这个角度来看,目前开发领域的主流是两个标准: Microsoft .NET 和 Java,例如 Crystal Reports就是主流标准 —— Microsoft 阵营的代表性产品,而它也是专注于“商业智能”领域的 BO 软件公司的旗舰产品。 自当初的 Microsoft Visual Basic 5 开始,直到目前的 Visual Studio .NET 2020/2020,甚至即将面市的 Visual Studio .NET2020 版, Crystal Reports 一直都被选作微软开发平台中的报表工具,可见世界第一大软件公司 Microsoft 对其功能与技术等方面的一致肯定。 至于 Java 阵营中,最受欢迎的无外。基于web应用程序的水晶报表设计与开发论文
相关推荐
术。 缓解 IT 人员短缺 :许多企业很难吸引熟练的 IT 员工,特别是对于中小企业而言,向 ASP 的外包能够减少甚至消除对内部 IT 员工的需求。 支持移动工作组 :在 ASP 模式中,软件功能来自于远方,因此用户所在的位置无关紧要。 只要能够被系统成功识 别,用户无论在哪里都能得到同样的功能和数据。 数据库的介绍 “数据库 ”作为短语最早使用的是在 1963 年 6 月, System
pt 则被作为系统默认的脚本语言。 ASP 程序其实是以扩展名为 .asp 的纯文本形式存在于 WEB 服务器上的,可以用任何文本编辑器打开它, ASP 程序中可以包含纯文本、 HTML 标记以及脚本命令。 只需将 .asp 程序放在 Web 服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过 WWW 的方式访问 ASP 程序了。 要学好 ASP 程序的设计,必须掌握脚本的编写
Service Contorl Management,SCM)监控下运行的服务,第一类叫 做 Web 服务。 第二类叫做 Windows 服务(以前叫做 NT 服务)。 .NET 平台和 Web 服务是紧密结合的,可以认为 .NET 平台就是用于开发 Web 服务的平台。 使用 .NET 平台开发 Web 服务有以下优点: 在 Micrsoft .NET 平台上,任何编程语言都可以用来编写
vices技术使得整个的应用程序开发技术从以操作系统为中心的应用程序组织模式扩展到以网络为中心的组织模式,即在视野上从本地扩大到了全球。 两个中心的标志性技术分别为基于本地的组件技术( 、 javabean 等)和基于网络的Web services( xml/soap)技术。 它给我们带来的一大好处是:由于 XML 的支持,使得数据共享方式从原来的人 人、机器 人模式发展到机器 机器模式(软件
( 7, 4)汉明码知识介绍 基本概念 线性分组码是一类重要的纠错码,应用很广泛。 在( n, k)分组码中,若监督码元是按线性关系模 2 相加而得到的,则称其为线性分组码。 现在以 (7,4)分组码为例来说明线性分组码的特点。 设其码字为A=[a6, a5, a4, a3, a2, a1, a0],其中前 4 位是信息码元,后 3 位是监督码元,可用下列线性方程组来描述该分组码产生监督元:
ount1660)then if(count=1011001)then enhour_1=39。 139。 count=0000000。 else count=count+7。 end if。 else count=0000000。 end if。 elsif(count1660)then count=count+1。 enhour_1=39。 039。 after 100 ns。 else