zoukankan      html  css  js  c++  java
  • SqlDataReader和SqlDataAdapter 区别

    SqlDataReader和SqlDataAdapter 区别

    SqlDataReader 高效,功能弱,只读访问
    SqlDataAdapter 强大,要求资源也大一点

    SqlDataReader 只能在保持跟数据库连接的状态下才可以读取。。。

    SqlDataAdapter 大多情况下是一次性读取一个表,然后填充到DataSet中,然后就可以断开跟数据库的连接了。

    两者区别主要是   在线 和 离线 的区别。。。。。

    一: 
    SqlDataReader rd;
    rd=cmd.ExecuteReader();

    比较高效,如果只是显示数据,当然要用这个

    二:
    SqlDataAdapter adapter=new SqlDataAdapter(cmd);
    ADO.Net里有两类,连线 离线
    离线的就是DataSet等,可以把数据取出来放进去,然后断开连接,节省服务器资源
    当你在本地做了更改后,再连上数据库进行更新
    这种取数据和更新数据的工作就是由SqlDataAdapter做的,他是“延长的电线”--这个比喻好像出自《ado.net技术内幕》

    SqlDataReader //基于连接,只读访问 适合数据量较小 
    SqlDataAdapter //基于非连接,适于数据量较大时,可以另行修改,最后再把修改结果返回给数据库。要求资源也大一点

    SqlDataReader像一个链表一样,只能往一个方向读数据 
    SqlDataAdapter的功能就像他们说得非常强大了

    1.SqlDataReader返回的是一个数据读写器,只能一条条的读,操作起来不灵活,一般在只读的时候才用到。 
    2.SqlDataAdapter返回的是数据集或者表,可以对其中的数据作任意操作

    概述:

    一,SqlDataReader //基于连接,只读访问 适合数据量较小。

          SqlDataAdapter //基于非连接,适于数据量较大时,可以另行修改,最后再把修改结果返回给数据库。要求资源也大一点

    二,SqlDataAdapter 读取数据后将数据集放入DataSet ,DataSet 的数据存在本地客服机内存。

    三,SqlDataReader返回的是一个数据读写器,只能一条条的读,操作起来不灵活, 一般在只读的时候才用到。

          SqlDataAdapter返回的是数据集或者表,可以对其中的数据作任意操作

    ASP.net有这些知识,DataSet,DataTable,DataReader,DataAdapter.
    DataSet是用来做连接sql的一种方法,意思是把数据库的副本存在应用程序里,应用程序开始运行时,把数据库相关数据保存到DataSet.
    DataTable表示内存中数据的一个表.常和DefaultView使用获取可能包括筛选视图或游标位置的表的自定义视图。
    DataReader对象是用来读取数据库的最简单方式,它只能读取,不能写入,并且是从头至尾往下读的,无法只读某条数据,但它占用内存小,速度快
    DataAdapter对象是用来读取数据库.可读取写入数据,某条数据超着强,但它占用内存比dataReader大,速度慢

  • 相关阅读:
    [php]php设计模式 Interpreter(解释器模式)
    [php]php设计模式 Decorator(装饰模式)
    [php]php设计模式 Adapter(适配器模式)
    [php]php设计模式 Delegation(委托模式)
    [php]php设计模式 Builder(建造者模式)
    [python]django学习笔记 二
    [ruby]ruby on rails学习笔记1
    [php]php设计模式 Factory(工厂模式)
    pku3461 Oulipo (KMP)
    pku 2406 && pku 1961 Period && hdu3746 Cyclic Nacklace
  • 原文地址:https://www.cnblogs.com/YoungPop-Chen/p/3259738.html
Copyright © 2011-2022 走看看