您的位置:首页 > 其它

ArrayList、Hashtable、DataTable、DataView、DataReader和DataSet,DataGrid等的区别和各自的优缺点

2015-06-15 10:11 375 查看
ArrayList是可变数组,只能通过索引来查找数据。通过Add()方法添加数据..

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

如:Hashtable ht = new Hashtable();

ht["a"] = "张三";

ht["b"] = "李四";

要获得张三就可以通过 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,这样可以节省大量的内存开销.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: