ADO.NET——DataSet

作者:湖北诺贝特科技有限公司  来源:www.nbt158.com未知  发布时间:2017-09-03 12:31:03
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使用内存较少。

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:宜昌SEO http://yichang.4567w.com


上一篇:完美解决PHP中文乱码
下一篇:最后一页