65.9K
CodeProject 正在变化。 阅读更多。
Home

SQL Server 2000 Reporting Services: 从头开始创建报表

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.89/5 (10投票s)

2004年9月10日

CPOL

6分钟阅读

viewsIcon

337146

使用 SQL Server 2000 Reporting Services 从零开始创建报表的逐步方法。

引言

在之前的文章中,描述了如何使用 Visual Studio 2003 界面和 SQL 2000 Reporting Services 的 RAD 功能创建报表。在这篇“操作指南”文章中,将描述如何使用这些工具从零开始生成报表。本文章中创建的报表数据将从 MSDE 服务器 [XPHTEK\TEST] 上的 Biblio 数据库中检索。MSDE 也称为 Desktop SQL Server,是 SQL 2000 Server 的较小版本,不具备完整 [Professional, Enterprise] 版本的所有功能。报表服务使用设计器提供的配置详细信息创建一个 DataSet 对象。DataSet 是报表的数据源。报表的布局遵循现在流行的带状样式。如果熟悉 Access 或 Crystal Reports,则布局遵循类似的模式。接下来,将逐步、逐屏描述如何从零开始创建报表。

目录

生成报表

按照上一篇文章中描述的方式创建一个名为 SQLRepSvc 的报表项目。它包含一个“共享数据资源”文件夹和一个“报表”文件夹,如图所示。右键单击“报表”文件夹,然后从弹出菜单和子菜单中选择“添加新项”。

数据访问

这将启动“添加新项 - SqlRepSvc”窗口。在这里,通过突出显示并单击“打开”来选择添加“数据源”。

这将弹出“数据链接属性”窗口。在本例中,选择的服务器是名为 XPHTEK\Test 的 MSDE SQL Server 实例,选择的数据库是 Biblio,并使用 Windows 身份验证。可以测试连接。

当您单击上述窗口的“确定”时,一个名为 Biblio.rds 的数据源对象将添加到“共享数据源”文件夹中,如图所示

如果您右键单击此文件夹,您可以选择查看其属性,如图所示。如果您需要进行更改,可以编辑此项。

添加报表

右键单击“解决方案资源管理器”中的“报表”文件夹,然后选择“添加新报表”。这会将默认名称为 Report1.rdl 的报表添加到“报表”文件夹中,如图所示。报表添加后,会将“数据”、“布局”和“预览”三个选项卡添加到报表设计器平面。默认名称已重命名为 scratch.rdl,如下一个屏幕截图所示

配置数据集

在“数据”选项卡中“数据集:”旁边的下拉框中,单击省略号并选择“<新建数据集..>”,如下所示

这将弹出“数据集”窗口,焦点在“查询”选项卡上。您可以选择三种命令类型:文本存储过程表直接。在此示例中,选择了“文本”选项。

在设计器的“数据”选项卡中,您可以通过在此下一个屏幕截图中所示的指示点处单击,选择编辑 DataSet,或创建要在报表中使用​​的查询。您可能想知道 DataSet1 是如何突然变成 DataSet3 的。此带有 DataSet3 的屏幕是在不同的场合拍摄的,目的是突出显示需要单击的点。

下一个屏幕显示用于创建 DataSet 的“查询生成器”。当查询生成器第一次出现时,设计器的所有不同区域都是空的。您可以将数据库中的表添加到查询平面,并按照您想要的方式构建查询,如图所示。上一篇文章对此进行了详细讨论。在当前示例中,已添加“Publishers”表并创建了设计器中间显示的查询。可以检查 SQL 语法,也可以运行查询以验证结果。

接下来,切换到下一个选项卡“字段”,将弹出一个空的选项卡窗格。在这里,您可以按所示指定 DataSet 中的字段。您可能需要手动输入“字段名称”列;“”可以通过单击“”列中的可用选项来选择。您也可以探索其他选项卡,但对于此示例,只需选择字段即可。

当您点击“确定”离开上述屏幕时,您将看到以下内容。您有一个额外的“字段”窗口,显示您已选择的所有字段。查询也显示在 DataSet 下方,如图所示

右键单击 Fields 集合中的任何字段项会弹出一个上下文菜单,可用于添加编辑删除字段,如图所示

配置布局

要配置的下一个项目是报表布局。单击“布局”选项卡,打开设计平面,如本屏幕所示。单击本屏幕截图中所示的点,打开“报表属性”选项卡页面,如下一个屏幕所示

常规”选项卡中填写的信息将有助于描述作者身份和报表描述,布局为打印报表的大小提供了基础。也应该可以选择语言。

可以使用“添加现有项”弹出窗口将图形图像导入报表。这显示在下一个屏幕截图中。图形可以拖放到设计平面中。将图像拖到报表的“页面标题”带中的示例在此处显示。通过拖放,已将“工具箱”的“报表项”选项卡菜单中的文本框添加到图形下方。

此屏幕显示了报表的“正文”以及“页面标题”。“工具箱”中“报表项”选项卡菜单中的表格元素被拖放到报表正文中。该表格有自己的“标题”、“详细信息”和“页脚”行。在标题行中,通过首先放置“报表项”中的文本框并输入列标题文本,插入报表列标题。在详细信息部分(行)中,从“字段列表”中拖放相应的元素(注意感叹号运算符)。在页脚部分中,插入了上一个屏幕截图中显示的全局节点的 Globals!ExecutionTime 属性。表格设计在合并单元格等方面提供了出色的表格设计支持。可能缺少的是配置“详细信息”部分中交替行的行颜色,这将改善视觉效果。

完成的报表

通过单击“预览”选项卡,可以预览报表在打印时的样子。预览仅在报表处理完成后才可用,这需要一定的时间。此阶段的错误可能从数据馈送错误到 GUI 错误不等。

PDF 格式的报表

报表可以打印成多种格式的文件,包括 PDF,如图所示

此屏幕显示了从 ©Acrobat Reader 6 打印的 PDF 格式报表的放大副本

报表文件结构

由报表服务生成的报表是基于 XML 的,此下一个屏幕截图显示了 IE 浏览器中 scratch.rdl 文件的 XML 渲染。某些部分尚未完全展开以保持图形较小。

结论

如果报表开发人员熟悉 Microsoft 的其他产品和 SQL 语法,使用此工具生成报表可以非常高效。报表布局设计非常出色,具有多项增强功能和对多种语言、Unicode 双向语言支持以及其他丰富的格式化(我不是 Microsoft 供应商!)增强功能。考虑到 Crystal Reports 总是与 VB 后代捆绑在一起,看看它如何发展将会很有趣。

© . All rights reserved.