ADO.NET_01_概述
ADO.NET的体系结构
从图上可以看出,ADO.NET 由两部分组成:.NET Framework Data Providers 和 DataSet。
.NET Framework Data Providers 用于操作数据库(如Oracle、Microsoft Access、Microsoft Excel、Microsoft SQL Server),把数据库做为数据源,而 DataSet 用于操作 XML,把 XML 文件做为数据源。这样,把数据库和 XML 统称为数据源。同时这两者之间也存在联系,简单地说,.NET Framework Data Providers 在访问数据库后,会返回 DataSet。
ADO.NET(ActiveX Data Object)包含两个组件
- .NET Framework Data Providers
- 数据集 DataSet
.NET Framework Data Providers
.NET Framework Data Providers 是用来操作数据和快速访问数据的组件。
- Connection 对象提供与数据源的连接;
- Command 对象使访问数据库命令返回数据、修改数据、执行存储过程、发送检索参数信息;
- DataReader 从数据源提供一个高性能的数据流(仅向前、只读的);
- DataAdapter 是 DataSet 与数据源之间的“桥梁”,它使用 Commnad 对象来执行 SQL 命令,将数据装载到 DataSet 中,并使 DataSet 中变化的数据反映到数据源上。
这个数据源的概念很广泛,既可以是数据库,如 Oracle、Access,或 Microsoft SQL Server 等,也可以是文件,如 XML,Excel。本质上,它们没什么区别,都可以看作是一张二维表。
.NET为各种数据源都提供了相应的 Data Provider,下面是 .NET 框架提供的 Data Provider:
1) .NET Framework Data Provider for SQL Server 为 Microsoft SQL Server 7.0 或更高版本提供数据访问。使用 "System.Data.SqlClient" 命名空间。
2) .NET Framework Data Provider for OLE DB 它为 OLE DB 数据源提供数据访问。使用 "System.Data.OleDb" 命名空间。
3) .NET Framework Data Provider for ODBC 它为 ODBC 数据源提供数据访问。使用 "System.Data.Odbc" 命名空间。
4) .NET Framework Data Provider for Oracle 它为Oracle 8.1.7以及更高的数据源提供数据访问。使用 "System.Data.OracleClient" 命名控件。
DataSet
DataSet 是用来数据访问的,它独立于任何数据源。一个DataSet包含一个或多个 DataTable 对象,一个 DataTable 包含多个行和列、以及主外键,约束等等。事实上,DataSet 就是把数据库搬到了内存里。