频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

VS2005数据存取层深入剖析高级篇

来源: 作者: 出处:巧巧读书 2006-11-22 进入讨论组
下一页 1 2 3 
一、 扩展表格适配器

  当你设计业务层和数据存取层时,你基本上都是把实体和关系分别映射到数据库表格及表格列中。典型地,我们期望每个实体的行为是:通过一系列语句来执行数据库操作。那么,你该如何描述一个实体的行为呢?数据存取设计模式在这方面提供了一定的指导作用。其实,一个表格适配器的CommandCollection属性是一个内部数据结构,它提供的语句用于硬编码在一个表格上期望的行为。

  因此,如果你想在Customers表格上添加一种行为,那么,你需要把一个新的T-SQL语句添加到CommandCollection属性,然后经由CustomersTableAdapter类中的一个新的方法使其成为public型属性。Visual Studio 2005提供一个简单的向导来完成所有这些工作。只要简单地选择在表格适配器设计器中定义的一个任务,你就可以触发这个向导,如图4所示。

VS2005数据存取层深入剖析高级篇(图一)
图4.选择表格适配器设计器定义的一个任务触发特定的向导。

  当你在Visual Studio 2005中选择一个表格适配器组件时,它将显示一个灵敏标签。点击它之后,Visual Studio就会显示一个菜单。如果你选择编辑查询,那么,你会得到当前数据集组件中所有表格的一个图形表示(见图5)。

VS2005数据存取层深入剖析高级篇(图二)
图5.Visual Studio 2005数据设计器提供的表格关系和表格适配器。

  要编辑一个现有查询,你只要选择表格适配器任务列表中的任务并编辑Properties窗口中的属性即可。为了添加一个新任务,你可以选择“Add Query”,然后遵循随后向导的提示即可。该向导最终引导你定义一个新的命令,无论它是一个查询或是一个更新语句。完成之后,你会看到一个额外的入口出现在任务列表内;另外,对基本代码也进行了一定程度的修改。

  现在,假定你定义了一个新的查询语句—用于根据不同国家加载相应的顾客信息,那么,最后的语句看起来类似如下:

SELECT ... FROM customers WHERE country=@country

  向导会要求你为使用该语句检索数据(GetDataXXX)并填充传递的数据表格(FillXXX)的两个方法进行命名。当然,你可以选择仅生成其中一个方法。

  让我们如图6所示来命名方法GetDataByCountry和FillByCountry。

VS2005数据存取层深入剖析高级篇(图三)
图6.添加到表格适配器的新任务。

  这两个新的方法都要使用从命令集合中提取的命令来建立适配器的SelectCommand语句并执行它。列表4展示了该FillByCountry方法的源代码。

  列表4.FillByCountry方法的源代码。

The new FillByCountry method
Public Overridable Overloads Function FillByCountry( _
ByVal dataTable As CustomersDataTable, _
ByVal country As String) As Integer
 Me.Adapter.SelectCommand = Me.CommandCollection(1)
 If (country Is Nothing) Then
  Me.Adapter.SelectCommand.Parameters(0).Value = System.DBNull.Value
 Else
  Me.Adapter.SelectCommand.Parameters(0).Value = CType(country, String)
 End If
 If (Me.ClearBeforeFill = True) Then
  dataTable.Clear()
 End If
 Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
 Return returnValue
End Function
巧 巧 读 书:http://www.qqread.com/data-structure/i280278.html进入讨论组讨论。
下一页 1 2 3 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章