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

解决方案 »

  1.   

    SqlDataReader 高效,功能弱,只读访问
    SqlDataAdapter 强大,要求资源也大一点SqlDataReader 只能在保持跟数据库连接的状态下才可以读取SqlDataAdapter 大多情况下是一次性读取一个表,然后填充到DataSet中,然后就可以断开跟数据库的连接了。两者区别主要是   在线 和 离线 的区别。。
      

  2.   

    1 。 SqlDataReader 相当与一个只读的DataSet,可以看成一个只读的数据容器。
      2 。SqlDataAdapter 表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接,它不是一个数据容器。
      

  3.   

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

  4.   

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

  5.   

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

  6.   

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