ADO.NET——DataSet
ADO.NET
ADO.NET组件式开发数据库应用程序的核心,它提供了连接数据存储器,并检索、操作那个和更新数据所必需的类。ADO.NET中有许多组件,它们都在System.Data命名空间中实现。
ADO是ActiveX Data Objects的缩写,他是ADO.NET的前身。.NETFramework是Microsoft的主要数据访问技术。ADO.NET的一个设计目标就是尽可能与ADO紧密相关,这样开发人员就可以利用已有的ADO知识,迅速掌握ADO.NET。
下面是对ADO.NET的一个总结。
DataSet
DataSet是为了方便数据处理开发出来的,是数据的集合,为了解决DataReader的缺陷设计的,DataReader数据处理速度快,但它是只读的,一旦移到下一行,就不能看上一行的数据,DataSet可以自由移动指针。DataSet是独立的数据集合,即时断开数据连接或者关闭数据库,依然可用。
DataSet类是ADO.NET中一个非常重要的核心成员,它是数据库中的数据在本地计算机中映射成的缓存。对DataSet的任何操作,都是在计算机缓存中完成的。对于任何数据源,它都提供一致的关系编程模型。在DataSet中既定义了数据表的约束关系以及数据表之间的关系,还可以对数据表中的数据进行排序等。
DataSet特点
1、独立性.DataSet独立于各种数据源.在.NET中,无论什么类型数据源,它都会提供一致的关系编程模型,而这就是DataSet。
2、离线和连接。DataSet既可以以离线方式,也可以以实事连接来操作数据库中的数据。这一点有点像ADO中的RecordSet。
3、DataSet对象是一个可以用XML形式表示的数据视图,是一种数据关系视图。DataSet对象和XML文档几乎是可互换的
使用方法
1、把数据库中的数据通过DataAdapter对象填充DataSet
2、通过DataAdapter对象操作DataSet实现更新数据库
3、把XML数据流或文本加载到DataSet。
DataSet和RecordSet区别
RecordSet可以离线操作数据库,性能优良,效率较高等。DataSet比RecordSet复杂的多,每一个DataSet是一个或多个DataTable对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关DataTable对象中数据关系信息组成。而RecordSet只能存放单张数据表,虽然这张数据表可以由几张数据表JOIN生成。所以有些时候说,RecordSet更类似于DataSet中的DataTable。
DataSet和DataReader区别
1、与数据库连接
DataSet连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接;DataReader连接数据库时是面向连接的。读表时,只能向前读取,读完数据后有用户决定是否断开连接。
2、处理数据速度
DataSet读取、处理速度较慢;DataReader读取、处理速度较快。
3、更新数据库
在对DataSet数据集中的数据进行更新后,可以把数据更新回原来的数据库;在对DataReader中的数据进行更新后,没有办法进行数据库更新。
4、支持分页排序
在DataSet中支持分页、动态排序等操作;在DataReader中没有分页、动态排序的功能。
5、占用内存
DataSet在IIS服务器上所使用的内存较多;DataReader使用内存较少。
补充:Web开发 , ASP.Net ,