【SQL开源代码栏目提醒】:网学会员为广大网友收集整理了,报表数据源方案 - 计算机教材,希望对大家有所帮助!
ASP.NET技术方案宝典1CD 6.2 报表数据源方案 http://book.csdn.net/ 2008-3-26 14:33:00 当前章节:6.2 报表数据源方案 ·4.4 查询结果显示方案 ·4.5 其他相关查询 ·6.1 水晶报表技术 ·6.3 报表外观设计方案 ·6.4 排序、分组设计方案 ·6.5 交叉表分析设计方案 6.2 报表数据源方案 水晶报表主要用来显示数据但无论多么强大的工具没有数据源提供数据还是无用武之地的因此为了能够充分利用报表的强大功能数据源就显得非常重要。
本节将介绍几种常见的报表数据源。
6.2.1 Excel数据源设计 Excel是一个可以实现数据排列和加减等运算的表格软件。
它是一个完全开放的软件除了能够满足用户的基本需求外还能在已有的功能基础上开发出更适合需求的软件系统所以Excel是在日常办公中经常用到的软件。
1方案分析 Microsoft Excel早已被各行各业广泛使用这意味着有许许多多公司的财物、会计与各类数据皆使用Excel工作簿存储。
因此在开发Web应用程序报表时用户有时会要求以Excel工作簿作为报表的数据源。
将Excel工作簿作为报表的数据源是非常重要的。
2实施过程 实例位置光盘mr066.26.2.101 开发库存管理系统时因为需要做大量的关于库存信息资料的整理包括商品库存信息、产品资料和销售记录管理等使用Excel整理这些资料就使得工作变简单。
所以在开发报表时选择Excel作为数据源图6.22为库存管理系统中的图书库存信息。
图6.22 Excel数据源设计效果 Excel数据源设计实施步骤如下 1首先需要添加一个“Crystal报表”项。
在“解决方案资源管理器”窗口中选中当前网站单击鼠标右键在弹出的快捷菜单中选择“添加新项”命令在弹出的“添加新项”对话框中选择“Crystal报表”项并在“名称”文本框中输入报表名称“CrystalExport.rpt”如图6.23所示。
图6.23 “添加新项”对话框 2单击【添加】按钮弹出“Crystal Reports库”对话框如图6.24所示在该对话框中设置报表的属性。
选择“作为空白报表”单选按钮并选择“选择专家”区域中的“标准”选项。
图6.24 “Crystal Report库”对话框 3单击【确定】按钮打开“报表设计器”对话框如图6.25所示。
图6.25 “报表设计器”对话框 4在报表设计区域的任意空白处单击鼠标右键在弹出的快捷菜单中选择“数据库/数据库专家”命令弹出“数据库专家”对话框如图6.26所示。
图6.26 “数据库专家”对话框 5单击“创建新连接”项左侧的加号在展开项中双击“OLE DBADO”项下的“建立新连接”弹出“OLE DB ADO提供程序”对话框选择“Microsoft Jet 4.0 OLE DB Provider”Excel数据源“提供程序”如图6.27所示。
图6.27 OLE DB 提供程序对话框 6单击【下一步】按钮弹出“OLE DBADO连接信息”对话框单击“数据库名称”文本框旁边的【】按钮选择Excel文件的位置在“数据库类型”下拉列表框中选择“Excel 8.0”如图6.28所示。
图6.28 连接Excel数据文件 7单击【完成】按钮返回“数据库专家”对话框从“可用数据源”列表中将“图书库存”工作薄添加至“选定的表”列表中如图6.29所示。
图6.29 “数据库专家”对话框 8单击【确定】按钮返回报表设计器打开“字段资源管理器”将报表中所需的字段拖放至报表节中设计报表如图6.30所示。
图6.30 报表设计器 9从“工具箱/Crystal Reports”中拖放一个CrystalReportViewer控件到要显示报表数据的页面中单击控件右上角的【】按钮弹出快捷菜单在“选择报表源”下拉列表框中选择“lt新建报表源…gt”项如图6.31所示。
弹出“创建报表源”对话框如图6.32所示在对话框中为CrystalReportSource控件指定ID名称和报表CrystalReport.rpt单击【确定】按钮。
最后运行报表显示页查看效果。
图6.31 CrystalReportViewer快捷菜单 图6.32“创建报表源”对话框 3补充说明 访问Excel工作薄中的数据必须特别注意可以将工作薄中的每一个工作表Sheet当作一个数据表来使用而工作表的名称就好比是数据表的名称。
6.2.2 Access数据源设计 Access是微软公司推出的基于Windows的桌面关系数据库管理系统RDBMS是Office系列应用软件之一。
本节将介绍如何在报表中使用Access作为数据源。
1方案分析 Access提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象提供了多种向导、生成器、模板把数据存储、数据查询、界面设计、报表生成等操作规范化为建立功能完善的数据库管理系统提供了方便也使得普通用户不必编写
代码就可以完成大部分数据管理的任务极大地提高了开发人员的工作效率使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
因此在中小型企业网站中Access数据库的使用是比较广泛的它以方便简洁而受到开发人员的青睐。
在报表开发过程中Access数据库是提供水晶报表数据源的主要方式之一。
2实施过程 l 实施方案一 使用Access作为报表数据源 实例位置光盘 mr066.26.2.201 开发新城校友录应用程序时考虑到项目开发周期和开发效率等方面因素时选择Access作为开发数据库。
在打印学生信息时选择水晶报表来完成。
报表的数据源选择Access作为数据源图6.33为新城校友录中同学信息的打印效果。
图6.33 Access数据源设计效果 Access数据库作为数据源实施步骤如下 1首先需要添加一个“Crystal报表”项。
在“解决方案资源管理器”窗口中选中当前网站单击鼠标右键在弹出的快捷菜单中选择“添加新项”命令在弹出的“添加新项”对话框中选择“Crystal报表”项并在“名称”文本框中输入报表名称“CrystalExport.rpt”如图6.34所示。
图6.34 “添加新项”对话框 2单击【添加】按钮弹出“Crystal Reports库”对话框如图6.35所示在该对话框中设置报表的属性。
选择“作为空白报表”单选按钮并选择“选择专家”区域中的“标准”选项。
图6.35 “Crystal Report库”对话框 3单击【确定】按钮打开“报表设计器”对话框如图6.36所示。
图6.36 “报表设计器”对话框 4在报表设计区域的任意空白处单击鼠标右键在弹出的快捷菜单中选择“数据库/数据库专家”命令弹出“数据库专家”对话框如图6.37所示。
图6.37 “数据库专家”对话框 5单击“创建新连接”项左侧的加号在展开项中双击“OLE DBADO”项下的“建立新连接”弹出“OLE DB ADO提供程序”对话框选择“Microsoft Jet 4.0 OLE DB Provider”Access数据源“提供程序”如图6.38所示。
图6.38 OLE DB 提供程序对话框 6单击【下一步】按钮弹出“OLE DBADO连接信息”对话框单击“数据库名称”文本框旁边的【】按钮选择Access数据库文件的位置在“数据库类型”下拉列表框中选择“Access”如图6.39所示。
图6.39 连接Access数据库文件 7单击【完成】按钮返回“数据库专家”对话框从“可用数据源”列表中将“Tb_07”同学信息表添加至“选定的表”列表中如图6.40所示。
图6.40 “数据库专家”对话框 8单击【确定】按钮返回报表设计器打开“字段资源管理器”将报表中所需的字段拖放至报表节中设计报表如图6.41所示。
图6.41 “报表设计器”对话框 9从“工具箱/Crystal Reports”中拖放一个CrystalReportViewer控件放置到要显示报表数据的页面中单击控件右上角的【】按钮弹出快捷菜单在“选择报表源”下拉列表框中选择lt新建报表源…gt项如图6.42所示。
弹出“创建报表源”对话框如图6.43所示在对话框中为CrystalReportSource控件指定ID名称和报表CrystalReport.rpt单击【确定】按钮。
最后运行报表显示页查看效果。
图6.42 CrystalReportViewer快捷菜单 图6.43 “创建报表源”对话框 l 实施方案二 推入模式访问Access数据源设计 实例位置光盘 mr066.26.2.202 在“商品销售管理系统”中的“商品汇总报表”模块中该模块用于查询公司累计入库商品和库存商品等信息。
在报表模块中根据用户要求使用商品名称来查询数据动态的产生报表此报表数据源选择推入模式访问Access数据库作为数据源。
当用户从下拉列表中选择要查看的商品信息然后单击【载入报表】按钮动态生成商品信息报表如图6.44所示。
图6.44 推入模式访问Access数据源设计效果 推入模式访问Access数据源设计实施方案步骤如下 1打开欲设置其数据源的报表打开Crystal Report Designer设计器。
2在报表设计区域的任意空白处单击鼠标右键在弹出的快捷菜单中选择“数据库/数据库专家”命令弹出“数据库专家”对话框。
3在“数据库专家”对话框中单击“创建新连接”项左侧的加号在展开项中双击“Access/ExcelDAO”项下的“建立新连接”弹出“Access/ExcelDAO”对话框单击“数据库名称”文本框旁边的【】按钮选择要连接的Access数据库文件位置。
在“数据库类型”下拉列表框中选择“Access”。
如图6.45所示。
图6.45 Access/ExcelDAO对话框 4单击【完成】按钮返回“数据库专家”对话框从“可用数据源”列表中将“Tb_08”商品信息表添加至“选定的表”列表中如图6.46所示。
图6.46 “数据库专家”对话框 5单击【确定】按钮返回报表设计器打开“字段资源管理器”将报表中所需的字段拖放至报表节中并设计报表。
6从“工具箱/Crystal Reports”中拖放CrystalReportViewer控件、一个DropDownList控件、一个Button控件、一个Lable控件放置到要显示报表数据的页面页面设计如图6.47所示。
图6.47 加载报表页面设计 7在页面的加载事件中将商品信息表中的商品名称字段绑定到DropDownList控件中。
主要
代码如下。
protected void Page_Loadobject sender EventArgs e if IsPostBack OleDbConnection con new OleDbConnectionquotProviderMicrosoft.Jet.OLEDB.4.0Data SourceDataDirectorydb_schoolcomputer.mdbquot con.Open string strSql quotselect 商品名称 from tb_08quot OleDbDataAdapter myAdapter new OleDbDataAdapterstrSql con DataSet ds new DataSet myAdapter.Fillds quottb_08quot DropDownList1.DataSource ds DropDownList1.DataTextField quot商品名称quot DropDownList1.DataBind 注意实现此段
代码功能必须引用System.Data.OleDb命名空间。
8在【载入报表】按钮的单击事件中将数据填入ADO.NET数据集并传递给报表对象主要
代码如下。
protected void Button1_Clickobject sender EventArgs e OleDbConnection con new OleDbConnectionquotProviderMicrosoft.Jet.OLEDB.4.0Data SourceDataDirectorydb_schoolcomputer.mdbquot con.Open string strSql quotselect from tb_08 where 商品名称quotDropDownList1.SelectedValue.ToStringquotquot OleDbDataAdapter myAdapter new OleDbDataAdapterstrSql con DataSet ds new DataSet myAdapter.Fillds quottb_08quot ReportDocument studentsReport new ReportDocument//定义ReportDocument类对象 studentsReport.LoadServer.MapPathquotCrystalReport.rptquot//加载报表 studentsReport.SetDataSourceds//加载数据源 CrystalReportViewer1.ReportSource studentsReport//为CrystalReportViewer控件指定报表 注意实现此段
代码功能必须引用CrystalDecisions.CrystalReports.Engine 3补充说明 请不要在同一应用程序中交互使用两种对象模型也就是说不应该在同一时间同时使用两种对象模型的属性与方法。
举例来说设置Crystal Reports Engine对象模型中的参数字段时就不应该在同一个报表中使用Windows Form viewer或Web Form Viewer对象模型去设置参数字段。
应该根据本身的需求来决定要使用哪一个对象模型的各个类去进行控制报表。
6.2.3
SQL Server数据源设计
SQL Server数据库适用于各种类型的数据库系统具有系统稳定、界面友好、扩张性强、成本较低、易于维护等特点。
在开发大中小企业Web应用程序是是很好的选择。
将
SQL Server数据库作为报表的数据源是非常重要的。
1方案分析
SQL Server引进并加强了对XML的支持成为大型Web站点的最好的数据库管理系统之一。
该数据库对硬件配置要求很低且支持的操作系统相当广泛。
具有完善强大的数据处理功能正确的配置和管理
SQL Server可以支持企业级数据库而无需高配置的硬件环境减少了项目开发的成本其简单、友好的操作方式包含一整套的管理和开发工具如企业管理器和查询分析器这些工具与Windows的紧密结合在提供强大功能的同时又易于使用用户可以把更多的精力放在自已的业务问题上而不是考虑如何使用数据库系统。
对于需要持续运行且对数据访问与维护各个方面皆严格要求的应用系统而言
SQL Server数据库可说是最佳选择因此在大中小型企业网站开发中通常用到的数据存储工具主要是
SQL Server数据库。
如何通过提取模式和推入模式来使用
SQL Server数据库是开发人员不能忽视的课题。
2实施过程 l 方案实施一 通过提取模式来便用
SQL Server 数据源 实例位置光盘 mr066.26.2.301 在开发“网上书店系统”时后台数据库采用
SQL Server。
在报表打印图书信息时报表数据源采用提取模式来使用
SQL Server 数据库。
图6.48为网上书店系统中图书库存信息。
图6.48
SQL Serve数据源设计效果 通过提取模式来使用
SQL Server数据源设计实施方案步骤如下 1打开欲设置其数据源的报表打开Crystal Report Designer设计器。
2在报表设计区域的任意空白处单击鼠标右键在弹出的快捷菜单中选择“数据库/数据库专家”命令弹出“数据库专家”对话框。
3在“数据库专家”对话框中单击“创建新连接”项左侧的加号在展开项中双击“OLE DBADO”项下的“建立新连接”弹出“OLE DB ADO提供程序”对话框选择“Microsoft OLE DB Provider for
SQL Server”
SQL Server数据源“提供程序”如图6.49所示。
图6.49 OLE DB 提供程序对话框 4单击【下一步】按钮弹出“OLE DBADO连接信息”对话框在对话框中依次进行下列设置 l 在“服务器”下拉列表中输入或选取所要链接的
SQL Server服务器名称。
l 接下来必须决定要采用哪一种安全性验证模式来登录
SQL Server。
如果要采用“Windows账户验证模式”请勾选复选框“集成安全”反之如果要采用“
SQL Server账户验证模式”请不要勾选复选框“集成安全”。
l 如果已勾选单选框“集成安全”则请直接从“数据库”下拉列表框中选择所要链接的
SQL Server数据库。
如未勾选复选框“集成安全”请分别在“用户ID”与“密码”文本框中输入用来登录
SQL Server用户识别码与密码然后再从“数据库”下拉列表框中选取要链接的
SQL Server数据库。
本实例设置效果如图6.50所示。
图6.50 连接
SQL数据库文件 5单击【完成】按钮返回“数据库专家”对话框从“可用数据源”列表中将“tab_xsb”图书信息表添加至“选定的表”列表中如图6.51所示。
图6.51 “数据库专家”对话框 6单击【确定】按钮返回报表设计器打开“字段资源管理器”将报表中所需的字段从数据表中拖放至报表节中设计报表。
然后从“工具箱/Crystal Reports”中拖放CrystalReportViewer控件放置到要显示报表数据的页面设置CrystalReportSource控件指定ID名称和报表CrystalReport.rpt最后运行报表显示页查看效果。
l 方案实施二 通过推入模式来便用
SQL Serve数据源 实例位置光盘 mr066.26.2.302 在开发“计量中心管理系统”员工工资报表打印模块时根据用户需求要求根据每月发放工资时间查询打印员工工资信息。
因此用推入模式来使用
SQL Serve数据库作为报表数据源使用ADO.NET数据集动态的控件报表结构。
在员工工资报表模块中用户从下拉列表中选取工资发放时间然后单击【载入报表】按钮动态生成员工当月工资信息报表如图6.52所示。
图6.52
SQL Server数据源设计效果 通过推入模式来使用
SQL Serve数据源设计实施方案步骤如下 1打开欲设置其数据源的报表打开Crystal Report Designer设计器。
2在报表设计区域的任意空白处单击鼠标右键在弹出的快捷菜单中选择“数据库/数据库专家”命令弹出“数据库专家”对话框。
3在“数据库专家”对话框中单击“创建新连接”项左侧的加号在展开项中双击“OLE DBADO”项下的“建立新连接”弹出“OLE DB ADO提供程序”对话框选择“Microsoft OLE DB Provider for
SQL Server”
SQL Server数据源提供程序如图6.53所示。
图6.53 OLE DB 提供程序对话框 4单击【下一步】按钮弹出“OLE DBADO连接信息”对话框在对话框中依次进行下列设置 l 在“服务器”下拉列表框中输入或选取所要链接的
SQL Server服务器名称。
l 接下来必须决定要采用哪一种安全性验证模式来登录
SQL Server。
如果要采用“Windows账户验证模式”请勾选复选框“集成安全”反之如果要采用“
SQL Server账户验证模式”请不要勾选复选框“集成安全”。
l 如果已勾选复选框“集成安全”则请直接从“数据库”下拉列表框中选择所要链接的
SQL Server数据库。
如未勾选复选框“集成安全”请分别在“用户ID”与“密码”文本框中输入用来登录
SQL Server的用户识别码与密码然后再从“数据库”下拉列表框中选取要链接的
SQL Server数据库。
本实例设置效果如图6.54所示。
图6.54 连接
SQL数据库文件 5单击【完成】按钮返回“数据库专家”对话框从“可用数据源”列表中将“tb_worke”图书信息表添加至“选定的表”列表中如图6.55所示。
图6.55 “数据库专家”对话框 6单击【确定】按钮返回报表设计器打开“字段资源管理器”将报表中所需的字段从各个数据表拖放至报表节中设计报表。
7从“工具箱/Crystal Reports”中拖放CrystalReportViewer控件、一个DropDownList控件、一个Button控件、两个Lable控件放置到要显示报表数据的页面页面设计如图6.56所示。
图6.56 报表显示页面设计 8在页面的加载事件中调用FilLDropDownList方法将工资发放时间绑定到DropDownList控件中。
同时将所有员工工资信息加载到报表中显示在页面。
主要
代码如下。
protected void Page_Loadobject sender EventArgs e if IsPostBack FilLDropDownList//填冲DropDownList控件 SqlConnection con new SqlConnectionquotserverlocaluidsapwddatabasedb_06quot con.Open string strSql quotselect from tb_workequot SqlDataAdapter da new SqlDataAdapterstrSqlcon DataSet ds new DataSet da.Filldsquottb_workequot con.Close ReportDocument studentsReport new ReportDocument//定义ReportDocument类对象 studentsReport.LoadServer.MapPathquotCrystalReport.rptquot//加载报表 studentsReport.SetDataSourceds//加载数据源 this.CrystalReportViewer1.ReportSource studentsReport//为CrystalReportViewer控件指定报表 注意实现此段
代码功能必须引用System.Data.SqlClient和CrystalDecisions.CrystalReports.Engine命名空间。
自定义FilLDropDownList方法此方法功能是将员工的工资信息表中工资发放日期字段绑定到DropDownList控件中主要
代码如下。
public void FilLDropDownList//填冲DropDownList控件 SqlConnection con new SqlConnectionquotserverlocaluidsapwdda.
上一篇:
主流数据库的统一接口实现
下一篇:
电气工程及其自动化电力系统实训报告word