第 4 课:定义用于子报表的数据连接和数据表
设计父报表后,接下来要创建用于子报表的数据连接和数据表。
本文中的 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 由根据查询从 PurhcaseOrderDetail 表获得的数据组成。
保存文件。
要预览数据,请在“数据”菜单上选择“预览数据”,然后选择“预览”。
下一步
你已成功创建了用于子报表的数据连接和数据表。 接下来,将使用报表向导设计子报表。 请参阅第 5 课:使用报表向导设计子报表。