您的位置:首页 > 其它

DataTable、DataView、DataReader、DataSet等区别

2017-08-28 20:32 375 查看
ArrayList是可变数组,只能通过索引来查找数据。通过Add()方法添加数据..    

Hashtable是哈希表..存的是键值对...一个键对应一个值.优点就是可以通过关键字来找到对应的数据.  

如:Hashtable   ht  =   new   Hashtable();  

ht["a"]   =   "Jack";  

ht["b"]   =   "Rose";  

如果要获得Jack就可以通过   ht["a"]来得到,   而ArrayList就没有这么好用.  

DataView   的好处就是能够给一个DataTable定义多个视图,   当有两个DataGrid需要显示同一个DataTable中的数据的时候,可以定义两个DataView来绑定到控件上。  
 

DataReader用于一行一行的读取数据。  

DataSet是数据集...里面放的是多个数据表.用来保存查询到的数据.  它相对于DataReader可以创建本地副本,还可以进行很多操作,比如筛选,排序等,若对数据不进行操作最好选择DataReader.DataSet是个类.

DataGrid是显示数据的控件.  

datatable、一个数据的表

把dataset看作数据库

把datatable看作数据库里的一个表

把datagridview看作显示表里数据的表格工具

 

DataReader基于连接,它返回的数据是只读只向前的,适合简单地浏览且耗时比较短的操作。DataSet对象会将所需数据读入内存然后断开连接。它适合对数据进行复杂长时间的操作,并且需要更新数据的情况。

 

SqlDataReader只是建立与数据库之间的类似于一个指针关系,在没有调用Read()方法之间它不从数据读出任何数据,而在调用Read()时也只是从数据库中读出一条数据.DATATABLE是数据表的一个复本,至于DataSet可以反它看作一个数据库,因为它不但可以包括多个表而且还能包括各表之间的关系.所以在进行大量数据访问时(特别是分页方式的访问)建议使用SqlDataReader,这样可以节省大量的内存空间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: