DataReader和DataAdapter都可以获取多行数据
DataAdapter一次性将数据源中符合条件的数据全部copy到DataSet里
DataReader每次从数据源获得一笔符合要求的记录但是我看到有些人使用DataReader获取多行记录。请问
1.DataReader和DataAdapter都可以获取多行数据的区别主要在哪里
2.DataReader和DataAdapter各有怎样的优势谢谢~~~~~~~~

解决方案 »

  1.   

    DataReader是对数据一次性前向只读的数据阅读器,用来接受XXXcommand的EcexuteReader方法查询数据库的结果,EcexuteReader只返回数据。
    DataAdapter和XXXcommand比较相似,有一个SQL语句和连接对象构成。其调用fill方法将查询数据库的结果保存在 dataset中的datatable中,fill方法检索数据,并且检索模式,也就是每个字段的字段名,数据类型,最大长度及其他属性
      

  2.   

    我觉得最关键的就是DataReader是个向前不向后的数据读取器,好处是节约了内存;dataAdapter是取完结果集再交个你由你处置。
      

  3.   

    DataReader 在线快速只向前读!
    dataAdapter 可以与数据库断开后继续工作!
      

  4.   

    看名字就可以看出区别来了,datareader就是数据阅读器,而dataadapter是数据适配器。
    reader直接就可以读取,adapter只是一个中转战罢了,就算获取一个数据也是如此。
      

  5.   

    用法呢?要怎样使用?什么情况下用DataAdapter,什么情况使用DataReader?
      

  6.   

    用法msdn写的已经很清楚了,怎么使用网上也很多教程,我想这个你不应该不清楚吧?
    至于什么时候用,别人也给出来了,reader很明显只是单方向的,也就是只读不能回写,而适配器就不同他可以将你的数据传回到数据库,这是他们最大的区别的,其余的别人也说了,阅读器是不可逆的,也就是一旦进行下去想回头看看前面的记录值就不行了,而适配器则能生成dataset且已经是个微型内存数据库了。这两个是他们主要的区别。如果你的页面只需要显示那么reader则会非常适合,如果你的页面需要通过dataset数据源来提交同步数据到数据库那么就使用适配器。