欢迎光临
我们一直在努力

在ADO.NET数据集中浏览多个相关表(4)-.NET教程,数据库应用

建站超值云服务器,限时71元/月

显示相关记录
  现在您已经有了选定客户的相关记录(存储在数据行数组中),您可以显示它们以便与用户进行交互。应用程序将逐一访问 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(是)。
  请记住,生成数据集并不能自动创建数据集中各表之间的关系。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 在ADO.NET数据集中浏览多个相关表(4)-.NET教程,数据库应用
分享到: 更多 (0)