现在的位置: 首页 > 综合 > 正文

ADO.net资料库

2013年11月05日 ⁄ 综合 ⁄ 共 1170字 ⁄ 字号 评论关闭

    

    ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OLEDB协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的ADO.NET类库来进行连接。 

          

    ADO.NET2.0提供了两个用于检索关系数据的对象:DataSet和DataReader。并且这两个对象都可以将检索的关系数据存储在内存中。

二者的区别:

    

1,与数据库连接
   DatSet 连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接。
   DataReader 连接数据库时是面向连接的。读表时,只能向前读取,读完数据后有用户决定是否断开连接。
2,处理数据速度
   DataSet读取、处理速度较慢。
   DataReader读取、处理速度较快。
3,更新数据库
   在对DataSet数据集中的数据进行更新后,可以把数据更新回原来的数据库。
   在对DataReader中的数据进行更新后,没有办法进行数据库更新。  
4,支持分页排序
   在DataSet中支持分页、动态排序等操作。
   在DataReader中没有分页、动态排序的功能。
5,占用内存
   DataSet在 IIS 服务器上所使用的内存较多。
   DataReader在 IIS 服务器上所使用的内存较少。

应用:
     
使用DataSet是为了实现应用程序的下述功能:
 
   1 操作结果中的多个分离的表。 
   2 操作来自多个源(例如来自多个数据库、XML文件和电子表格的混合数据)的数据。 
   3 在层之间交换数据或使用XML Web服务。与DataReader 不同,DataSet能被传递到远程客户端。 
   4 通过缓冲重复使用相同的行集合以提高性能(例如排序、搜索或过滤数据)。 
   5 每行执行大量的处理。在使用DataReader返回的行上进行扩展处理将使连接存在的时间比必要的更长,从而降低效率。 
   6 使用XML操作(例如XSLT转换和Xpath查询)维护数据。
 

在应用程序需要以下功能时使用DataReader: 

   1 不需要缓冲数据。 
   2 正在处理的结果集太大而不能全部放入内存中。 
   3 需要迅速一次性访问数据,采用只向前的只读的方式

综上所述得出DataSet和DataReader有各自适用的场合。如果数据来源控件只是用来填入控件的清单成为其选项,或者数据绑定控件并不需要提供排序或分页功能的话,则应该使用 DataReader。反之,如果数据绑定控件需要提供排序或分页功能的话,则必须使用 DataSet,通过DataSet设置出来分页排序等页面面显示效果。



抱歉!评论已关闭.