如何在.NET应用程序中使用数据库层
来源:互联网 发布:淘宝限时促销要钱 编辑:程序博客网 时间:2024/05/19 04:54
大多数应用软件的开发都是在一个多层或者多级的环境中完成的,除非你是在用过时的代码或系统在工作。这可能包括了与业务规则和表示层一起的数据库层。每一个n层环境的关键部分就是数据库层。在这篇专栏文章里,我们将分析怎样在.NET 的应用程序中使用数据库层。
代码分离
无论你是在构建一个网站、Windows操作系统、网站服务,还是其他任何一种应用程序,你肯定要将数据库的CRUD(创建、读取、更新和删除)操作合并。许多开发者经常从像网页这样的应用资源里直接调用数据库,但是这样就会导致噩梦般的维护或代码变换——尤其是当有必要改变数据库访问的时候。
当前的一种产业趋势是将数据访问代码同其余的代码相分离。用这种方式,你可以通过数据访问代码进行所需的数据库调用。这样就使得你能够在不涉及应用程序其余部分的情况下,进行数据库访问或者改变代码。除此之外,你还可以完全将数据访问代码移至它自己所属的类,在应用程序中重复使用它。
和其他为应用程序开发所做的努力一样,有不止一种的方法来处理它。你可以采取某种策略,使数据访问代码数据库变得独立,这样就会使得在不影响其他应用程序层的情况下,打开后端数据库变得很容易。另外,你的环境中还可以有一个标准化的后端数据库,因此就可能不需要那么高的透明级别了。
而且,你可以选择让数据访问代码通用化,以便让其适用于多个应用程序,或者为某个特定程序量身定制数据访问代码。和大多数话题一样,应用程序开发者会争论某种方法要比另一种方法好,但是到最后,它还是取决于你的环境、项目和时间限制。让我们来探讨一下在.NET 应用程序中数据访问层的运用。
构建数据访问层
基本上来说,数据访问层只是我们写入的与数据源相互作用的代码;它可以很简单,也可以很复杂,这根据你的需要来决定。举个例子,我们将创建一个数据访问类来处理与曾经风靡一时的SQL Server Northwind数据库之间的相互操作。我们的应用程序需要执行以下的数据库操作:
- 向用户表添加新的用户
- 从用户表删除用户
- 查看用户表中包括的用户信息
- 在Northwind数据库中运行存储过程。
我们从创建数据访问类开始。前面列表中的每个项目所对应的方法都包括在内。该类包含了以下方法来处理这些函数:
- GetDataSet方法接受一个单独的,包含了要运行的存储程序名称的字符串参数。程序执行后,结果储存在一个DataSet对象中,该对象又通过此方法被返回。
- GetCustomers方法是GetDataSet方法的一个变体,但是它是为了和Northwind的用户表相互作用专门定制的,然后在一个DataSet对象中返回所有的列。
- AddCustomer方法接受需要的数据并向数据库添加记录。
- DeleteCustomer方法把记录标识作为整数接受,它被用来从数据库中删除适当的记录。
- RunProcedure方法接受一个字符串值,其中包括了在后端数据库运行的存储程序的名称。
- GetDataReader方法接受一个字符串变量中的存储程序名称。这个程序在后端数据库中运行,其结果由该方法作为一个SqlDataReader对象被返回。
- WriteToEventLog方法被所有方法用来记录Windows事件日志中的所有异常。
数据库连接字符串被储存在Web.config文件中(这在Web的应用程序被使用),但是app.config文件也可以被使用。类的ConnectionString属性从配置文件中检索得到值。而且,所有的方法都是静态的,所以它们可以不需要经过类的实例例示就可以使用。查看列表A。
列表A
当这个类准备就绪之后,你可以很容易地在应用程序中使用它。例如,一个DataGrid可以利用DataAccess和数据库交互作用。它可以利用由GetCustomers返回的DataSet对象。同样地,其他的方法也可以用来对后端数据进行操作。
- 如何在.NET应用程序中使用数据库层
- 如何在.NET中使用MySQL数据库
- 再次介绍如何在 .NET 应用程序中使用 ADO
- 如何在VC中使用ADO开发数据库应用程序
- 如何在ASP.NET应用程序中初始化
- 如何在ASP.NET应用程序中初始化
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- 在.net应用程序中使用用户控件
- 在.net应用程序中使用用户控件
- 在COM应用程序中使用.NET组件
- 在.net应用程序中使用用户控件
- 在.net应用程序中使用用户控件
- 在Visual Studio.NET 中使用 SQL Server 2000 创建数据库应用程序
- 在 Visual Studio .NET 中使用 SQL Server 2000 创建数据库应用程序(1)
- 在 .NET 中使用 BDP 和 DB2 UDB 构建分布式数据库应用程序3
- 如何在EJB应用程序中使用Spring
- 招数据库工程师
- ORACLE函数大全
- vba 查询 拷贝行
- 用javascript+Ext写的扫雷V2.0
- ADS下的分散加载文件应用实例
- 如何在.NET应用程序中使用数据库层
- iPhone 用IB在TabBarController的item上加两个navgationcontroller
- 常用正则
- 在VS2008中创建自定义控件(四)为自定义控件添加默认值
- 分散加载描述文件
- ajax与jQuery方法
- 自己想做网站
- C++中的一些基本概念,很基础,但很重要!
- .NET XML 串行化讲座