DataAdapter与DataReader(区别与运用)
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(区别与运用)相关推荐
- DataSet DataTable DataReader DataAdapter之间的区别
1.四者各自的介绍 DataSet是用来做连接sql的一种方法,意思是把数据库的副本存在应用程序里,相当于存在内存中的数据库,应用程序开始运行时,把数据库相关数据保存到DataSet. DataTab ...
- C#中DataAdapter与DataReader的区别和联系
进行数据库进行更新操作时,有许多种方式,你使用的是哪种? 这里假设一个数据库中有一张表,表名为Test,列为colID,colTest1,colTest2,colTest3.其中,colTest1,c ...
- SQL那些事儿(十二)--DATASET 与 DATAREADER区别
DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection(俗称:非断开式连接),在线操作数据库时,任何对SqlConnection的操作都会引发 ...
- SqlDataReader和oledbDataReader和DataReader区别
SqlDataReader:是专门用来读取SQl数据库中的数据的,对读取方式进行了优化 oledbDataReader:适用于所有使用oledb驱动的数据库,例如SQl.MySql.ORACAL.Ac ...
- 使用DataReader、DataSet、DataAdapter和DataView
使用DataReader.DataSet.DataAdapter和DataView ADO.NET提供两个对象用于检索关系型数据并把它存储在内存中,分别是DataSet和DataReader.Data ...
- c#大圣之路笔记——c# SqlDataReader和SqlDataAdapter区别
SqlDataReader 高效,功能弱,只读访问 SqlDataAdapter 强大,要求资源也大一点 SqlDataReader 只能在保持跟数据库连接的状态下才可以读取... SqlDataAd ...
- DataReader与DataSet,DataGrid与DataList等相关知识
DataReader与DataSet有什么区别? DataSet表示一个数据集,是数据在内存中的缓存. 可以包括多个表 DataSet 连接数据库时是非面向连接的.把表全部读到Sql中的缓冲池,并断开 ...
- DataReader与DataSet,DataGrid与DataList
DataReader与DataSet有什么区别? DataSet表示一个数据集,是数据在内存中的缓存. 可以包括多个表 DataSet 连接数据库时是非面向连接的.把表全部读到Sql中的缓冲池,并断开 ...
- datareader(Datareader对象的什么方法用于从查询结果中读取行)
DataReader和IDataReader的区别? IDataReader是一个接口,它规定了实现这个接口的具体类要提供哪些操作. 而具体的DataReader比如SQLDataReader和Ole ...
最新文章
- 逆袭“潮牌”后,李宁离安踏还有多远?
- 金蝶Apusic应用服务器的数据源管理(转)
- chroot函数使用_PHP chroot()函数与示例
- CF666B. World Tour
- jQuery中bind,live,delegate与one方法的用法及区别
- 数据结构之栈与递归的应用(汉诺塔递归解法)
- CF876 D 树状数组
- 手机软件Toast无法显示提示信息
- Java的继承 以学生管理系统为例
- js实现基本图片切换功能
- 关于Java Web打印
- 【Java架构师入门到精通】java分布式架构有哪些技术
- 软件设计师第二章知识点_作为设计师,您可能会找到的最好的第二次展示
- 短信系统实现原理(基于redis)
- 2019年南京大学计算机研究生复试分数线,南京大学2019年硕士研究生复试基本分数线...
- [前端面试经]百度和好未来的面试官把我榨干了
- 【vscode】调试cocos creator (Js 无法命中断点问题解决)
- 桌面计算机找不到硬盘,计算机BIOS启动项找不到硬盘,我该怎么办?
- JavaWeb 打开的默认主页设置问题
- c语言 %-10s,10s
热门文章
- 读书笔记1--力哥说理财:手把手教你玩转基金
- 乔姆斯基专访:深度学习并没有探寻世界本质
- 自定义控件--最简单九宫格解锁
- Dev-c++编写消消乐游戏 思路和代码 详解
- 华三交换机ping不通用户但用户_H3C三层交换机配置VLAN之间不能互相访问
- Proe Creo 二次开发之修改模型中的草绘模型--特征元素树
- 查看linux中程序是否被系统杀死,如何查看日志
- Windows 终端配置(powershellcmdgit bash等等)
- c语言查询学号(字符串),如何用C语言编写自己的姓名和学号
- 如何往hdfs上上传文件?