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占用服务器内存

DataAdapter与DataReader(区别与运用)相关推荐

  1. DataSet DataTable DataReader DataAdapter之间的区别

    1.四者各自的介绍 DataSet是用来做连接sql的一种方法,意思是把数据库的副本存在应用程序里,相当于存在内存中的数据库,应用程序开始运行时,把数据库相关数据保存到DataSet. DataTab ...

  2. C#中DataAdapter与DataReader的区别和联系

    进行数据库进行更新操作时,有许多种方式,你使用的是哪种? 这里假设一个数据库中有一张表,表名为Test,列为colID,colTest1,colTest2,colTest3.其中,colTest1,c ...

  3. SQL那些事儿(十二)--DATASET 与 DATAREADER区别

    DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection(俗称:非断开式连接),在线操作数据库时,任何对SqlConnection的操作都会引发 ...

  4. SqlDataReader和oledbDataReader和DataReader区别

    SqlDataReader:是专门用来读取SQl数据库中的数据的,对读取方式进行了优化 oledbDataReader:适用于所有使用oledb驱动的数据库,例如SQl.MySql.ORACAL.Ac ...

  5. 使用DataReader、DataSet、DataAdapter和DataView

    使用DataReader.DataSet.DataAdapter和DataView ADO.NET提供两个对象用于检索关系型数据并把它存储在内存中,分别是DataSet和DataReader.Data ...

  6. c#大圣之路笔记——c# SqlDataReader和SqlDataAdapter区别

    SqlDataReader 高效,功能弱,只读访问 SqlDataAdapter 强大,要求资源也大一点 SqlDataReader 只能在保持跟数据库连接的状态下才可以读取... SqlDataAd ...

  7. DataReader与DataSet,DataGrid与DataList等相关知识

    DataReader与DataSet有什么区别? DataSet表示一个数据集,是数据在内存中的缓存. 可以包括多个表 DataSet 连接数据库时是非面向连接的.把表全部读到Sql中的缓冲池,并断开 ...

  8. DataReader与DataSet,DataGrid与DataList

    DataReader与DataSet有什么区别? DataSet表示一个数据集,是数据在内存中的缓存. 可以包括多个表 DataSet 连接数据库时是非面向连接的.把表全部读到Sql中的缓冲池,并断开 ...

  9. datareader(Datareader对象的什么方法用于从查询结果中读取行)

    DataReader和IDataReader的区别? IDataReader是一个接口,它规定了实现这个接口的具体类要提供哪些操作. 而具体的DataReader比如SQLDataReader和Ole ...

最新文章

  1. 逆袭“潮牌”后,李宁离安踏还有多远?
  2. 金蝶Apusic应用服务器的数据源管理(转)
  3. chroot函数使用_PHP chroot()函数与示例
  4. CF666B. World Tour
  5. jQuery中bind,live,delegate与one方法的用法及区别
  6. 数据结构之栈与递归的应用(汉诺塔递归解法)
  7. CF876 D 树状数组
  8. 手机软件Toast无法显示提示信息
  9. Java的继承 以学生管理系统为例
  10. js实现基本图片切换功能
  11. 关于Java Web打印
  12. 【Java架构师入门到精通】java分布式架构有哪些技术
  13. 软件设计师第二章知识点_作为设计师,您可能会找到的最好的第二次展示
  14. 短信系统实现原理(基于redis)
  15. 2019年南京大学计算机研究生复试分数线,南京大学2019年硕士研究生复试基本分数线...
  16. [前端面试经]百度和好未来的面试官把我榨干了
  17. 【vscode】调试cocos creator (Js 无法命中断点问题解决)
  18. 桌面计算机找不到硬盘,计算机BIOS启动项找不到硬盘,我该怎么办?
  19. JavaWeb 打开的默认主页设置问题
  20. c语言 %-10s,10s

热门文章

  1. 读书笔记1--力哥说理财:手把手教你玩转基金
  2. 乔姆斯基专访:深度学习并没有探寻世界本质
  3. 自定义控件--最简单九宫格解锁
  4. Dev-c++编写消消乐游戏 思路和代码 详解
  5. 华三交换机ping不通用户但用户_H3C三层交换机配置VLAN之间不能互相访问
  6. Proe Creo 二次开发之修改模型中的草绘模型--特征元素树
  7. 查看linux中程序是否被系统杀死,如何查看日志
  8. Windows 终端配置(powershellcmdgit bash等等)
  9. c语言查询学号(字符串),如何用C语言编写自己的姓名和学号
  10. 如何往hdfs上上传文件?