设计父报表后,接下来要创建用于子报表的数据连接和数据表。
本文中的 Transact-SQL 代码示例使用 AdventureWorks2022 或 AdventureWorksDW2022 示例数据库,可从 Microsoft SQL Server 示例和社区项目主页下载它。
通过添加 DataSet 定义数据连接和 DataTable(用于子报表)
- 在“网站”菜单上,选择“添加新项” 。 
- 在“添加新项”对话框中,选择“数据集”,然后选择“添加”。 出现提示后,应选择“是”,将该项添加到 App_Code 文件夹 。 - 此操作将一个新的 XSD 文件 DataSet2.xsd 添加到项目,并打开数据集设计器。 
- 从“工具箱”窗口中,将 TableAdapter 控件拖到设计图面上。 此操作将启动 TableAdapter 配置向导。 
- 在“选择数据连接”页上,可以选择在第 2 课中创建的连接。 如果执行了此操作,请选择“下一步”并转到步骤 8。 否则,请选择“新建连接”。 
- 在“添加连接”对话框中,执行以下步骤: - 在“服务器名称”框中,输入 - AdventureWorks2022数据库所在的服务器。- 默认的 SQL Server Express 实例为 (local)\sqlexpress。 
- 在“登录到服务器”部分中,选择使你可访问数据的选项。 “使用 Windows 身份验证”为默认选项。 
- 在“选择或输入数据库名称”下拉列表中,选择 - AdventureWorks2022。
- 选择“确定”,然后选择“下一步”。 
 
- 如果在步骤 5 (b) 中选择了“使用 SQL Server 身份验证”,则选择一个选项,决定是在字符串中加入敏感数据还是在应用程序代码中设置该信息。 
- 在“将连接字符串保存到应用程序配置文件中”页上,输入连接字符串的名称,或接受默认的“AdventureWorks2022ConnectionString”。 选择下一步。 
- 在“选择命令类型”页上,选择“使用 SQL 语句”,然后选择“下一步”。 
- 在“输入 SQL 语句”页上,输入以下 Transact-SQL 查询以从 - AdventureWorks2022数据库检索数据,然后选择“下一步”。- SELECT PurchaseOrderID, PurchaseOrderDetailID, OrderQty, ProductID, ReceivedQty, RejectedQty, StockedQty FROM Purchasing.PurchaseOrderDetail- 还可通过选择“查询生成器”创建查询,然后通过选择“执行查询”按钮验证查询。 
- 在“选择要生成的方法”页上,取消选中“创建方法以将更新直接发送到数据库(GenerateDBDirectMethods)”,然后选择“完成” 。 - 警告 - 务必取消选中“创建方法以将更新直接发送到数据库(GenerateDBDirectMethods)” - 已配置 ADO.NET DataTable 作为报表的数据源。 在 Visual Studio 中的“数据集设计器”页上,应看到所添加的 DataTable ,其中列出在查询中指定的列。 DataSet2 包含基于查询的 PurchaseOrderDetail 表中的数据。 
- 保存文件。 
- 要预览数据,请在“数据”菜单上选择“预览数据”,然后选择“预览”。