Connection对象就是用来建立数据库的连接。在与数据库连接的时候,需要向数据库提供一些必要信息,这些信息构成Connection对象的属性,也是该对象实例化时的参数,如数据库地址、数据库名称、用户名、密码等相关信息。
二、Command
Command对象就是用来执行数据库操作命令的。比如对数据库中数据表的添加删除,记录的增加删除,或是记录的更新等等都是要通过Command对象 来实现的。一个数据库操作命令可以用SQL语句来表达,包括选择查询(SELECT语句)来返回记录集合,执行更新查询(UPDATE语句)来执行更新记 录,执行删除查询(DELETE语句)来删除记录等等。Command命令也可以传递参数并返回值,同时Command命令也可以被明确的地定界,或调用 数据库中的存储过程。
三、DataReader
DataReader 对象从数据库中检索只读、只进的数据流。查询结果在查询执行时返回,在并存储在客户端的网络缓冲区中,直到使用 DataReader 的 Read 方法对它们发出请求。使用 DataReader 可以提高应用程序的性能,因为一旦数据可用,DataReader 方法就立即检索该数据,而不是等待返回查询的全部结果;并且在默认情况下,该方法一次只在内存中存储一行,从而降低了系统开销。因此,在普通的Web程序 里,DataReader对象是个比较招人喜欢的对象。当用户的对数据的需求为下列三种情况的时候,推荐使用DataReader对象:
(1)、数据必须是新的――这个要求必须是即时读取数据库记录,而DataReader对象的实例化不会消耗很多内存;
(2)、数据需求简单―一般使用手写代码,或是绑定到简单的数据控件上,执行命令为手写的SQL语句或是存储过程,在这种情况下DataReader将提供有效的访问数据方法;
(3)、数据操作倾向于向前的只读的操作――没有往返的交互操作。
四、DataSet
DataSet对象是ADO.NET的核心,基于DataSet的数据模型才使得ADO.NET实现离线式数据操作模型。DataSet是存在于内存中 的数据库,是专门用来处理数据保存体中读出的数据。它的优点就是离线式的,一点读取到数据源中的数据后,就在内存中建立数据库的副本,在此之后的操作,直 到执行更新命令为止,所有的操作都是在内存中完成的。不管底层的数据库是哪种形式,DataSet的行为都是一致。
ADO.NET的DataSet数据模型
因为DataSet可以看做是内存中的数据库,也因此可以说DataSet是数据表的集合,它可以包含任意多个数据表(DataTable),而且每一 DataSet中的数据表(DataTable对应一个数据源中的数据表(Table)或是数据视图(View)。数据表实质是又行(DataRow)和 列(DataColumn)组成的集合为了保护内存中数据记录的正确性,避免并发访问时的读写冲突,DataSet对象中的DataTable负着维护每 一条记录,分别保存记录的初始状态和当前状态。从这里可以看出DataSet是与只能存放单张数据表的Recordset是截然不同的概念。
DataSet对象的结构模型如下图所示:
通过上图的分析可知,DataSet对象结构还是非常复杂的,在DataSet对象的下一层中是DataTableCollection对象、 DataRelationCollection对象和ExtendedProperties对象。上文已经说过,每一个DataSet对象是由若干个 DataTable对象组成。DataTableCollection就是管理DataSet中的所有DataTable对象。表示DataSet中两个 DataTable对象之间的父/子关系是DataRelation对象。它使一个DataTable 中的行与另一个DataTable中的行相关联。这种关联类似于关系数据库中数据表之间的主键列和外键列之间的关联。 DataRelationCollection对象就是管理DataSet中所有DataTable之间的DataRelation关系的。在 DataSet中DataSet、DataTable和DataColumn都具有ExtendedProperties属性。 ExtendedProperties其实是一个属性集(PropertyCollection),用以存放各种自定义数据,如生成数据集的SELECT 语句等。
通过上面几节中的介绍和本节中的分析,我们可以总结出DataSet对象的三大特性:
(1) 独立性。DataSet独立于各种数据源。
(2) 离线(断开)和连接。
(3) DataSet对象是一个可以用XML形式表示的数据视图,是一种数据关系视图。
在实际应用中,DataSet使用方法一般有三种:
(1) 把数据库中的数据通过DataAdapter对象填充DataSet。
(2) 通过DataAdapter对象操作DataSet实现更新数据库。
(3) 把XML数据流或文本加载到DataSet。
五、DataAdapter
DataAdapter对象可以隐藏和Connection、Command对象沟通的细节,通过DataAdapter对象建立、初始化 DataTable,从而和DataSet对象结合起来在内存存放数据表副本,实现离线式数据库操作,事实上在8.1.2节中,我们在介绍DataSet 数据模型的时候就已经演示了如何利用DataAdapter对象进行数据库连接。DataAdapter对象允许将DataSet对象中的数据保存到数据 源中,也可以从数据源中读取数据,并且也可以底层数据保存体进行数据的添加、删除、更新等操作。
DataAdapter对象含有四个不同的操作命令,分别如下:
(1)、SelectCommand:用来或去数据源中的记录;
(2)、InsertCommand:用来向数据源中新插入一条记录;
(3)、UpdateCommand:用来更新数据源中的数据;
(4)、DeleteCommand:用来删除数剧源中的记录。
六、Dataview
DataView。该对象表示对DataSet中的数据表的一种查看方式,系统默认的方式是将数据以表格的形式排列,并且数据是根据从数据表中读取数据时行排列的顺序,通常和涉及数据库时的Sort Order或是在SQL语句中定义的排列依据(升序或降序等)。
使用DataView时候,可以根据不同的实际情况,来使用不同的排序依据(Sort)、过滤条件(Filter)或是查找方法(Search)。
转自:
http://www.cnblogs.com/binarytree/archive/2008/10/09/1306843.html