在windows窗体中,用户主要通过数据绑定的方式使用ADO.NET,即把控件的属性绑定到数据集(或其他数据源)上,同时使用数据适配器(DataAdapter)从数据库中提取数据并填充到数据集中(或者直接通过数据集使用XML数据)。如下图:
下面我们会按照上图从上到下的顺序来学习涉及的类。
图中的下半部分表示了ADO.NET的体系结构。从图中可以看出,ADO.NET主要由两部分组成:数据集(DataSet)和.NET数据提供者(Data Provider)。其中数据集是实现ADO.NET非连接体系结构的核心组件,从数据源读取的数据都缓存在数据集中,然后再被程序或控件使用。数据集可以用于多种不同的数据源,包括数据库或XML数据等。
ADO.NET的另一个核心组件是.NET数据提供程序,他主要用来实际访问不同的数据源,如SQL Server数据库和OLE DB数据库等。.NET数据提供程序主要由4个组件组成,包括数据连接(Connection)、数据命令(Command)、数据阅读器(DataReader)以及数据适配器(DataAdapter)。其中,连接对象用来建立到特定数据源的连接;命令对象用来执行各种查询命令;数据阅读器对象主要用来以一种前向只读的方式高效的访问数据源;而数据适配器对象则用来连接数据集对象和数据源,即数据集对象要通过数据适配器对象来访问数据源。连接对象、命令对象和数据阅读器对象构成了访问数据源的最底层。访问数据源的所有操作都要通过这些对象来进行。
注:
.NET框剪为用户提供了两种不同的数据提供程序:.NET SQL Server数据提供程序(专门用于MS SQL Server 7.0及以后版本)和.NET OLE DB提供程序(使用本地OLE DB驱动程序来访问数据),针对SQL Server数据提供程序的类都都位于命名空间Syetem.Data.SqlClient中,所以用户要使用语句Imports Syetem.Data.SqlClient来导入这个命名空间;而针对OLE DB提供程序的类位于Syetem.Data.OleDb中。这两套类库除了名字不同之后,在功能和用法上都基本相同。