zoukankan      html  css  js  c++  java
  • DataReader和DataSet的区别

    ADO.NET提供两个用户检索关机数据的对象:DataSet和DataReader
    DataSet与DataReader的区别
    1.数据库连接
    DataSet连接数据库是非面向连接,把数据全部读到内存并断开与数据库的连接,此时其他操作可以使用SqlConnection连接对象。
    DataReader连接数据库是面向连接的。只能向前读取,且会一直占用SqlConnection连接,在其获取数据过程中其他操作不可以再使用SqlConnection连接对象,读完数据后用户决定是否断开连接
    2.处理数据速度
    DataSet读取、处理速度较慢
    DataReader读取、处理速度较快
    3.更新数据库
    在对DataSet数据集中的数据更新后可以把数据更新回原来的数据库,DataReader不行
    4.支持分页排序
    DataSet支持分页、动态排序等操作,DataReader中没有分页、动态排序功能
    5.占用内存
    DataSet:由于DataSet是一次读取所有数据到内存,因此内存占用较大,但是提高了灵活性,在断开数据库连接情况下可以对修改数据并写回数据库
    DataReader:每次只读取一行记录,占用内存较小。
    6.获取机制
    DataReader通过IDbCommand.ExecuteReader来读取数据
    DataSet通过DbDataAdapter.Fill填充数据
    总结:
    如果数据只是用来填充或者绑定控件并不需要排序或分页功能则可使用DataReader,如果数据绑定控件需要提供排序或者分页功能则必须使用DataSet。

  • 相关阅读:
    The Water Problem(排序)
    Alisha’s Party(队列)
    The Hardest Problem Ever(字符串)
    火烧赤壁
    Jquery操作一遍过
    Django之认证系统
    Mysql漂流系列(一):MySQL的执行流程
    RESTful架构&简单使用Django rest framework
    git&github快速掌握
    jsonp突破浏览器同源策略
  • 原文地址:https://www.cnblogs.com/ecosu/p/4286010.html
Copyright © 2011-2022 走看看