数据层组件设计与数据传递8

时间:2010-02-02 08:29:53  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读: />     // 创建 ProductDALC 对象   ProductDALC dalcProduct = new ProductDALC();   // 对 ProductDALC 调用一个方法以获取一个包含全部产品信息的 DataSet   DataSet dsProducts = dalcProduct.GetProducts();      // 在客户端中使用 DataSet。 例如,把该 DataSet...
  正文:图 8:用于 Order 业务实体的通用 DataSet
  
    以下代码显示了如何从数据访问逻辑组件检索通用 DataSet ,然后将该 DataSet 绑定到 DataGrid 控件,再将该 DataSet 传递到数据访问逻辑组件以保存对数据所做的更改:
  
  // 创建 ProductDALC 对象
  ProductDALC dalcProduct = new ProductDALC();
  // 对 ProductDALC 调用一个方法以获取一个包含全部产品信息的 DataSet
  DataSet dsProducts = dalcProduct.GetProducts();
  
  // 在客户端中使用 DataSet。 例如,把该 DataSet 绑定到用户界面控件
  dataGrid1.DataSource = dsProducts.Tables[0].DefaultView;
  dataGrid1.DataBind();
  
  // 然后,把更新后的 DataSet 传递给 ProductDALC,将更改
  // 保存到数据库
  dalcProduct.UpdateProducts(dsProducts);
  
  
    您还可以在运行时查询和修改 DataSet 中的表、约束及关系。
  
    将业务实体表示为通用 DataSet 的优点如下:
  
  灵活性。DataSet 可以包含数据的集合,能够表示复杂的数据关系。
  序列化。在层间传递时,DataSet 本身支持序列化。
  数据绑定。可以把 DataSet 绑定到 ASP/ target=_blank class=infotextkey>asp.NET 应用程序和 Windows 窗体应用程序的任意用户界面控件。
  排序与过滤。可以使用 DataView 对象排序和过滤 DataSet。应用程序可以为同一个 DataSet 创建多个 DataView 对象,以便用不同方式查看数据。
  与 XML 的互换性。可以用 XML 格式读写 DataSet。这种方法在远程和脱机应用程序中很有用,它可以用 XML 格式接收 DataSet,然后在本地重新创建该 DataSet 对象。应用程序在与数据库断开连接后,还可以将 DataSet 保持为 XML 格式。
  元数据的可用性。可以用 XSD 架构的形式为 DataSet 提供完整的元数据。还可以使用 DataSet、DataTable、DataColumn、Constraint 和 Relation 类中的方法以编程方式为 DataSet 获取元数据。
  开放式并发。在更新数据时,可以配合使用数据适配器与 DataSet 以方便地执行开放式并发检查。
  可扩展性。如果修改了数据库架构,则适当情况下数据访问逻辑组件中的方法可以创建包含修改后的 DataTable 和 DataRelation 对象的 DataSet。数据访问逻辑组件方法签名并不改变。可以将调用应用程序修改为使用该 DataSet 中的这些新元素。
    将业务实体表示为通用 DataSet 的缺点如下:
  
  客户端代码必须通过 DataSet 中的集合访问数据。要访问 DataSet 中的表,客户端代码必须使用整数索引生成器或字符串索引生成器来索引 DataTable 集合。要访问特定列,必须使用列编号或列名称索引 DataColumn 集合。以下示例显示了如何访问 Products 表中第一行的 ProductName 列:
  
  // 获取所调用的名为 dsProducts 的 DataSet 的第一行的
  // 产品名称。 注意,该集合是基于零的。
  String str = (String)dsProducts.Tables["Products"].Rows[0]["ProductName"];
  ...
  
  
  注意:这里没有这些索引生成器的编译时检查。如果指定一个无效的表名称、列名称或列类型,会在运行时捕获该错误。使用通用 DataSet 时不支持 IntelliSense。
数据层组件设计与数据传递8》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/12731.html


关键字:

关于《数据层组件设计与数据传递8》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td