• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#中DataSet、DataTable、DataReader的区别

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

简单说就是:   
  DataSet:数据集。一般包含多个DataTable,用的时候,dataset["表名"]得到DataTable   
    
  DataTable:数据表。   
  一:   
  SqlDataAdapter   da=new   SqlDataAdapter(cmd);   
  DataTable   dt=new   DataTable();   
  da.Fill(dt);   
    
  -----------------   
  直接把数据结果放到datatable中,   
  二:   
  SqlDataAdapter   da=new   SqlDataAdapter(cmd);   
  DataSet   dt=new   DataSet();   
  da.Fill(dt);   
  ----------------   
  数据结果放到dataset中,若要用那个datatable,可以这样:dataset[0]   
  更常见的用法:   
  SqlDataAdapter   da=new   SqlDataAdapter(cmd);   
  DataSet   dt=new   DataSet();   
  da.Fill(dt,"table1");   
  用的时候:这样取datatable:       
  dataset["table1"]   
   


DataSet不能直接用来存储数据,如果仅用DataSet,它会自动的生成一个DataTable,所以看上去就像一个DataTable。   
    
  如果有很多个DataTable需要同时绑定到某个控件,就可以把多个DataTable添加到一个DataSet中,分别起不同的名字就可以了Top
DataReader基于连接,它返回的数据是只读只向前的,适合简单地浏览且耗时比较短的操作。DataSet对象会将所需数据读入内存然后断开连接。它适合对数据进行复杂长时间的操作,并且需要更新数据的情况。Top

SqlDataReader只是建立与数据库之间的类似于一个指针关系,在没有调用Read()方法之间它不从数据读出任何数据,而在调用Read()时也只是从数据库中读出一条数据.DATATABLE是数据表的一个复本,至于DataSet可以反它看作一个数据库,因为它不但可以包括多个表而且还能包括各表之间的关系.所以在进行大量数据访问时(特别是分页方式的访问)建议使用SqlDataReader,这样可以节省大量的内存开销.Top

DataSet就像内存数据库,   
  DataTable就是表,   
  库可以包含多个表,也可以包含表之间的关系。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c#序列化泛型List发布时间:2022-07-13
下一篇:
C#使用GZipStream压缩与解压字符串发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap