我们创建的大部分应用程序都要访问或者保存数据,通常,这种数据都是存储在数据库中的。比如,我们去超市买东西,在结账的时候,只要刷一下条形码,超市的结算系统就能够根据条形码从数据库中读取商品的价格,计算出我们买的东西的价格。要是没有数据库,这么多的商品的价格都要靠收银员手动输入到结算系统中就太麻烦了。
我们常用的数据库有多种,比如SQL Server,MS Access,Oracle等。为了使客户端能够访问服务器上的数据,就需要用到数据库访问的方法和技术,ADO.NET就是这种技术之一。
ADO.NET简介
ADO.NET是.NET Framework中不可缺少的一部分,它是一组类,通过这些类,我们的.NET应用程序就可以访问数据库了。
ADO.NET的功能非常强大,它提供了对关系数据库、XML以及其他数据存储的访问。我们的应用程序可以通过ADO.NET
连接到这些数据源,对数据进行增删改查。
ADO.NET的一个非常大的优点是它与数据源断开连接时也可以访问数据。这是什么原因呢?这就好比我们有一个工厂,工厂里面有
一个仓库,用来存放生产用的原料和产品,在工厂中有很多的生产车间。假设每生产一件产品,就要从仓库中取一次原料,恐怕
仓库管理员忙的晕头转向也不能满足车间的需求。所以车间就在旁边建立了一个临时仓库,每天把所需要的原料从仓库中提取
出来放在临时仓库中,生产的时候只要从临时仓库中取原料就可以了。在下班的时候把这一天生产的产品一起运到仓库中存放。
类似的,ADO.NET也可以把从数据源检索到的数据保存到本地一个叫做“数据集”的地方,这样应用程序就可以直接操作本地的
数据就行了,数据源就可以给更多的应用程序提供服务了。这就是ADO.NET的断开连接模型。
ADO.NET的主要组件
ADO.NET提供了两个组件,让我们能够访问和处理数据:.NET Framework数据提供程序和DataSet(数据集)
.NET Framework数据提供程序是专门为数据处理以及快速地只进、只读访问数据而设计的组件。使用它,我们可以连接到数据库、
执行命令和检索结果,直接对数据库进行操作。
.DataSet是专门为独立于任何数据源的数据访问而设计的。使用它,我们可以不必直接和数据库打交道,可以大批量的操作数据,
也可以将数据绑定在控件中。
.NET Framework数据提供程序的4个核心对象
Connection 建立与特定数据库的连接
Command 对数据源执行命令
DataReader 从数据源中读取只进且只读的数据流
DataAdapter 用数据源填充DataSet并解析更新
不同的命名空间都有相应的对象,比如我们要操作SQL Server数据库,需要使用System.Data.SqlClient命名空间,SQL数据提供程序中的类都以"sql"开头,所以它的四个核心对象分别为:SqlConnection SqlCommand SqlDataReader SqlDataAdapter。