Flysir


学习与工作就是:如果你报着一直在玩的态度,也许会做得更好哟 ^.^

导航

ADO.NET的结构——ADO.NET学习&应用笔记之一

ADO.NET的核心组件由Data Provider模块和DataSet模块组成。Data Provider程序库实现数据的连接、操作和对数据快速只进只读访问。DataSet实现独立于数据源的数据访问、操作,有点类似于ADO的断开连接的静态数据集。

ADO.NET的结构图如下:



一、.NET Framework Data Provider
.NET Framework数据提供程序是一组连接数据源,并且能够对数据执行命令,获取数据的程序结构。

(一).NET Framework的四个数据提供程序
.NET Framework提供了四组数据提供程序,用于访问四类数据源。
1、SQL Server .NET Framework数据提供程序,该程序只能访问MS SQL Server7.0或更高版本,更早版本的只能通过OLE DB数据提供程序访问。它的命名空间为System.Data.SqlClient。
2、OLE DB .NET Framework 数据提供程序,用于访问OLE DB数据提供程序,该程序不支持OLE DB 2.5版接口。它的命名空间为System.Data.OleDb。
3、ODBC .NET Framework 数据提供程序。用于访问ODBC数据提供程序。它的命名空间为System.Data.Odbc。
4、Oracle .NET Framework 数据提供程序。用于访问Oracle数据,该程序需要Oracle客户端软件8.1.7或更高版本的支持。它的命名空间为System.Data.OracleClient。

通过对IDbConnection接口、IDbCommand接口、IDataAdapter接口、IDbDataAdapter接口、IDataReader接口、IDataParameter接口、IDbTransaction接口等的实现我们也可以编写自己的数据提供程序组。


(二).Net数据提供程序的四个核心对象
.Net数据提供程序通常包含有四个核心对象:
1、Connection 对象提供与数据源的连接。数据提供程序的Connection类是继承System.Data.IDbConnection接口的实现。
2、Command对象使您能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。数据提供程序的Command类是继承System.Data.IDbCommand接口的实现。
3、DataReader 从数据源中提供高性能的数据流。DataReader的数据流是只进且只读的。数据提供程序的DataReader类是继承System.Data.IDataReader接口的实现。
4、DataAdapter 提供连接DataSet对象和数据源的桥梁。DataAdapter 使用Command 对象在数据源中执行 SQL 命令,以便将数据加载到 DataSet 中,并使对 DataSet中数据的更改与数据源保持一致。数据提供程序的DataAdapter类是继承System.Data.IDbDataAdapter接口的实现。
.Net数据提供程序还包括Transaction对象、Parameter对象等。


二、.NET Framework DataSet
连接、命令、事务、数据读取作用于特定的提供程序,唯有数据集可以独立于特定的数据提供的,在.NET Framework中数据集对象DataSet的命名空间位于System.Data中。

(一)、DataSet对象模型
DataSet对象是支持ADO.NET的断开式、分布式数据方案的核心对象。DataSet是数据的内存驻留表示形式,无论数据源是什么,它都会提供一致的关系编程模型。你可以把它想象成一个浓缩在内存当中的关系数据库。它的对象模型如下图:



DataSet包含三组集合:
(1)、DataTableCollection。关系数据库当中最主要的对象就是Table,那么在DataSet当中使用该集合来包含多个DataTable对象。DataTable就是是在内存中的数据表,你可以通过唯一名称来标识一个表。DataSet的DataTable可存储的最大行数是16,777,216。
(2)、DataRelationCollection。在关系数据库当中除了表之外,还有表示表和表之间的关系Relation。该集合就是包含表关系对象的集合。
(3)、ExtendedProperties。该是一组自定义信息,概念上点类似于ASP的Session之类的。


(二)、DataSet与DataAdapter
DataAdapter对象是数据提供程序和DataSet连接的桥梁。数据提供程序的DataAdapter类是IDataAdapter或者IDbDataAdapter的实现。通常DataAdapter的构造函数是:
XxxDataAdapter(SqlCommand selectCommand)
XxxDataAdapter(String selectCommandText, String selectConnectionString)
XxxDataAdapter(String selectCommandText, SqlConnection selectConnection)

DataAdapter通过实现Fill、FillSchema将数据源数据、架构等添加到DataSet中,通过实现Update将DataSet中的数据更新到数据源中。

posted on 2006-01-30 22:26  Flysir  阅读(821)  评论(0编辑  收藏  举报