DataAdapter
DataAdapter是DataReader封装而来的。DataAdapter是数据访问适配器,适配了数据库和应用程序之间的隔阂。
将数据一次加载到内存后便断开与数据库的连接。
不适用于大量数据读取 ,在读取大量数据的过程中,要是出现数据量超越内存容量便会卡死。
1.与DataSet配合使用,后台无需单独封装,编写非常简单。
2.但不能更好的体现面向对象编程特性
DataReader
DataReader用类似于指针的方式读取数据库中的数据,在不取用数据库数据的情况下,Datareader以只进只读的方式读取数据。DataReader是一种高效读取数据流的方式。
1.使用DataReader需要对集合(list)配合使用,封装较为麻烦
2.但对集合作为数据源能够体现更好的面向对象特性
两者如何选择?
1.开发角度:如果进行并行开发(负责不同层的开发),最好选择DataReader封装方法
2.数据筛选:如何前台实现动态筛选,DataAdapter较为方便
3.折中选择:两种可以配合使用
4.一般C/S架构程序中,可以适当使用DataAdapter,DataSet占用的是客户机内存;B/S架构程序中,尽量少使用,因为DataSet占用服务器内存