在 ADO.NET 数据集中浏览多个相关表(4)

ado|数据

显示相关记录
  现在您已经有了选定客户的相关记录(存储在数据行数组中),您可以显示它们以便与用户进行交互。应用程序将逐一访问 GetChildRows 方法返回的数据行数组中的数据,并将每个相关记录的“订单 ID”作为单独的项添加到列表框中。
  
  注意:虽然此示例将逐一访问相关数据行数组中的数据,但列表框可能已经使用属性窗口,通过 DataSource 属性、DataMember 属性和 ValueMember 属性被绑定到相关的记录。
  在列表框中显示相关记录
  
  在 Solution Explorer(解决方案资源管理器)中,右键单击 Form1 并从快捷菜单中选择 View Code(查看代码)。
  在前面步骤中创建的组合框的 SelectedIndexChanged 事件处理程序中,将以下代码添加到处理程序中已有代码之下:
  
  ' Visual Basic
  ' 当更改选定客户时,清除订单列表。
  lbOrders.Items.Clear()
  rtbDetails.Text = ""
  ' 将每个相关订单的订单 ID 添加到列表框中。
  Dim drOrder As DataRow
  For Each drOrder In draOrders
  lbOrders.Items.Add(drOrder("OrderID"))
  Next
  
  // C#
  // 当更改选定客户时,清除订单列表。
  lbOrders.Items.Clear();
  rtbDetails.Text = "";
  
  // 将每个相关订单的订单 ID 添加到列表框中。
  foreach(DataRow drOrder in draOrders)
  {
  lbOrders.Items.Add(drOrder["OrderID"]);
  }
  
  
  
  
  保存项目。
  运行应用程序。
  列表框中将显示订单列表。在组合框中选择另一个客户,订单列表将被更新。
  
  关闭窗体。
  在三个或更多表中浏览相关记录
  浏览三个或更多表与处理两个表一样简单。要了解如何处理两个以上的表,请将订单明细表和产品表添加到 dsNorthwind 数据集中。在列表框中选定一个订单后,该订单的详细信息即显示在 RTF 文本框中。
  
  为了满足约束规则,您需要删除现有的数据关系,将来再重新创建。
  
  暂时删除 dsNorthwind 数据集中的 DataRelation
  
  在 Solution Explorer(解决方案资源管理器)中,双击 dsNorthwind.xsd 以在 XML Designer(XML 设计器)中打开它。
  选择现有的 CustomersOrders 关系并将其删除。
  保存项目。
  现在您需要将另外两个表添加到现有数据集中,并创建新的 DataRelation 对象以将所有表连在一起。
  
  将订单明细表和产品表添加到 dsNorthwind 数据集中
  
  在 Solution Explorer(解决方案资源管理器)中,右键单击 Form1 并从快捷菜单中选择 View Designer(视图设计器)。
  将“订单明细”表从 Server Explorer(服务器资源管理器)中拖到窗体上。组件栏中将显示一个新的数据适配器。
  选择该新的数据适配器并将其 Name 属性设置为 daOrderDetails。
  将“产品”表从 Server Explorer(服务器资源管理器)中拖到窗体上。组件栏中将显示一个新的数据适配器。
  选择该新的数据适配器并将其 Name 属性设置为 daProducts。
  新表只是被添加到了窗体上,因此每次添加额外的表时,都必须重新生成数据集。
  
  重新生成 dsNorthwind 数据集
  
  从 Data(数据)菜单中,选择 Generate Dataset(生成数据集)。
  提示:将光标移到窗体上即可使用 Data(数据)菜单。
  单击 Existing(现有),然后选择 dsNorthwind 数据集。
  选择所有四个表(客户表、订单表、订单明细表和产品表)。
  清除 Add this dataset to the designer(将此数据集添加到设计器)复选框,然后单击 OK(确定)。将生成带有附加表的数据集。
  注意:如果出现一个对话框,其中说明“The file has been modified outside of the source editor. Do you want to reload it?”(文件已在源编辑器之外被修改。是否要重新加载?),请单击 Yes(是)。
  请记住,生成数据集并不能自动创建数据集中各表之间的关系。

时间: 2024-05-25 05:48:43

在 ADO.NET 数据集中浏览多个相关表(4)的相关文章

在ADO.NET数据集中浏览多个相关表

ado|数据 摘要:ADO.NET 中的数据集是一种在内存中表示数据的方法,它可以包含多个相关的数据表.本文介绍了在数据集中浏览这些相关数据表的方法.您将在 Visual Basic? .net 或 Visual C#? .NET 中创建一个 Windows? 应用程序,基于选定的记录返回相关记录,并使用表达式列为相关记录生成合计信息.本文包含一些指向英文站点的链接. 简介 由于数据集可以包含几个相关的表,因此了解如何在父记录和子记录之间进行浏览是一项基本任务,而这并非显而易见,特别是当您试图访

在ADO.NET数据集中浏览多个相关表(1)

ado|数据  摘要:ADO.NET 中的数据集是一种在内存中表示数据的方法,它可以包含多个相关的数据表.本文介绍了在数据集中浏览这些相关数据表的方法.您将在 Visual Basic .NET 或 Visual C# .NET 中创建一个 Windows 应用程序,基于选定的记录返回相关记录,并使用表达式列为相关记录生成合计信息.本文包含一些指向英文站点的链接.      简介   由于数据集可以包含几个相关的表,因此了解如何在父记录和子记录之间进行浏览是一项基本任务,而这并非显而易见,特别是

在 ADO.NET 数据集中浏览多个相关表(1)

ado|数据  摘要:ADO.NET 中的数据集是一种在内存中表示数据的方法,它可以包含多个相关的数据表.本文介绍了在数据集中浏览这些相关数据表的方法.您将在 Visual Basic .NET 或 Visual C# .NET 中创建一个 Windows 应用程序,基于选定的记录返回相关记录,并使用表达式列为相关记录生成合计信息.本文包含一些指向英文站点的链接.      简介   由于数据集可以包含几个相关的表,因此了解如何在父记录和子记录之间进行浏览是一项基本任务,而这并非显而易见,特别是

在ADO.NET数据集中浏览多个相关表(3)

ado|数据 显示数据  此应用程序使用组合框.列表框和 RTF 文本框来选择和显示数据.    添加选择和显示数据的控件    在 Solution Explorer(解决方案资源管理器)中,右键单击 Form1(.cs 或 .vb,取决于应用程序的语言),然后从快捷菜单中选择 View Designer(视图设计器).  在窗体的左半部,添加一个 ListBox 控件,并将其 Name 属性设置为 lbOrders.  在窗体的右半部,添加一个 RichTextBox 控件,并将其 Name

在 ADO.NET 数据集中浏览多个相关表(3)

ado|数据 显示数据   此应用程序使用组合框.列表框和 RTF 文本框来选择和显示数据.      添加选择和显示数据的控件      在 Solution Explorer(解决方案资源管理器)中,右键单击 Form1(.cs 或 .vb,取决于应用程序的语言),然后从快捷菜单中选择 View Designer(视图设计器).   在窗体的左半部,添加一个 ListBox 控件,并将其 Name 属性设置为 lbOrders.   在窗体的右半部,添加一个 RichTextBox 控件,并

在 ADO.NET 数据集中浏览多个相关表(5)

ado|数据 创建关系      在 Solution Explorer(解决方案资源管理器)中,双击 dsNorthwind.xsd 文件.文件将在 XML Designer(XML 设计器)中打开.   从工具栏的 XML Schema(XML 架构)选项卡中,将 Relation(关系)拖到订单表上.   在 Edit Relation(编辑关系)对话框中,设置以下属性:      元素 设置   Name CustomersOrders   Parent Customers   Chil

在ADO.NET数据集中浏览多个相关表(2)

ado|数据  创建应用程序   本节将建立这一演练的起点.随后的步骤将创建数据连接.数据适配器和包含相关表的数据集,以及几个选择和显示数据的控件.      创建新的 Windows 应用程序      从 File(文件)菜单中,指向 New(新建),并选择 Project(项目).将显示 New Project(新建项目)对话框.   在 Project Types(项目类型)窗格中,根据您需要的编程语言,选择 Visual Basic Projects(Visual Basic 项目)或

在 ADO.NET 数据集中浏览多个相关表(6)

ado|数据 表达式列   除了包含静态数据外,还可以基于表达式的结果为 DataColumn 分配值.表达式是一个分配给 DataColumn.Expression 属性的字符串.      当表达式与相关数据一同使用时,数据列可以包含:      相关数据列的计算所得值.   相关数据列的合计信息.   相关数据的逻辑比较结果.   为说明处理相关数据时的值表达式列,我们将针对每种使用情况介绍一个示例,并添加到 DataRelationExample 应用程序中.      添加包含计算值的

在 ADO.NET 数据集中浏览多个相关表(2)

ado|数据 创建应用程序   本节将建立这一演练的起点.随后的步骤将创建数据连接.数据适配器和包含相关表的数据集,以及几个选择和显示数据的控件.      创建新的 Windows 应用程序      从 File(文件)菜单中,指向 New(新建),并选择 Project(项目).将显示 New Project(新建项目)对话框.   在 Project Types(项目类型)窗格中,根据您需要的编程语言,选择 Visual Basic Projects(Visual Basic 项目)或