技术开发 频道

使用VS2005 DataSet设计器实现数据访问层



三、实例

    为了使问题更具体,在这一部分我们将使用table adapter创建一个简单的例子。在本例中我们将使用SQL Server2000中的Northwind做为数据源。要做的第一件事就是从Server Explorer中得到Northwind的数据库连接。为了达到这个目的,我们可以右击Server Explorer中的数据连接,选择加连接(Add Connection),然后按着提示一步步地进行下去。

    虽然Northwind是一个很好的实例数据库,但它并没有更好地支持存储过程进行CRUD操作(Create,Retrieve,Update和Delete)。而且在表中也没有一些用于帮助优化并发效率的列。为了使本文的例子可以更好的运行,需要运行一下本文提供了一个脚本文件(可以在查询分析器中执行这个脚本文件)。这个脚本在Employees表中加了一个datetime列,以及一些用于CRUD操作的存储过程。要想正确运行本文提供的例子,必须要依靠这些对数据库的修改。这些新加的存储过程包括SelectEmployees、UpdateEmployees、InsertEmployees和DeleteEmployees,这四个存储过程将处理CRUD操作。

    在使用SQL脚本修改Northwind数据库之后,启动Visual Studio 2005并创建一个新的叫NorthwindDataAccess的类库工程,如图1所示。在这个工程中默认生成了一个Class1.cs文件,其实这个文件对本文的例子没什么用,读者可以将它删除。然后右NorthwindDataAccess工程,选择添加 > 新建项 ...,从弹出对话框中选择“数据集”,如图2所示。这样就将一个数据集定义加到工程中了。



1:创建一个数据访问类库工程



 图2 在工程中加入一个Dataset定义文件
 
    接下来我们将从右边的服务器资源管理器中选择一些表加入到Dataset中。首先应建立Northwind数据连接,并打开“存储过程”结点,选择SelectEmployees存储过程。并将这个存储过程拖到Dataset设计器。
    当你做完后,就会看到一个加入Employees表中字段的表定义。这些定义是基于存储过程返回的Select表达式的。我们可以将SelectEmployees重新命名为Employees。如图3所示。在图3中我们还会看到Employees表的底端已经将EmployeesTableAdapter加入进来。这个适配器是我们最先介绍的适配器。当我们保存这个工程时,Visual Studio将在后台自动产生一些代码。

图3 Employees表定义和表适配器


    在上面介绍的简单拖动后,Visual Studio会创建很多新的类型定义。EmployeesDataSet是最顶层的容器类。而EmployeesDataTable将提供一个实体类。最后,EmployeesTableAdapter将会使用SelectEmployees存储过程获得数据。当我们切换到代码区后,就会发现,Visual Studio至少为我们产生了1000多行代码。这些代码在EmployeesDataSet.Designer.cs文件中可以找到。

0
相关文章