sqldatareader 和 sqldataadapter 、dateset的比较

DATASET 与 DATAREADER对象有什么区别 DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection(俗称:非断开式连接),在线操作数据库时,任何对SqlConnection的操作都会引发DataReader的异常。下面同本文对dataset与datareader的区别详细学习吧 立即下载

SqlDataReader是个数据读取器,向前不可后退、每次只读取一条。速度快,现代项目里面用它用得最多。
DataSet是个内存数据库,它与其它两个是根本不一样的。
SqlDataAdapter是个数据适配器,工作于DataSet和数据库之间,负责将数据从数据源读出来放在DataSet中,或将DataSet中的更改更新回数据库。

所以以上可以综合成两种模式:1是SqlDataReader一条一条读(通常这后面会跟有实体转化相关的);2是使用SqlDataAdapter和DataSet。

上面两种方案中,比较如下:
1.性能。DataSet中的数据完全保存在内存中,所以会占用内存。但是通常情况下DataReader读出的数据实例化以后也是在内存中的,所以两者没有多大区别。但是,当数据量极大的情况下,使用DataSet时,不论是你分页还是不分页,它的效率之低,和SqlDataReader相比都是不可同日而语的,尤其是你在分页情况下,使用DataReader可以只读所需数据,网络流量可以很小,但是DataAdapter还是必须全部读出,网络流量你很难优化,除非你自己去深入控制。
2.方便。DataSet数据保存在内存中,可以用Adapter一次性填充,乍看方便不少,其实不然。由于dataset中的数据都是弱类型的,你用的时候不得不大量使用索引、强制类型转换、类型转换来完成读取任务,麻烦而且易错。从这方便来说,在读取数据时那么一点方便是不可取的。
3.离线。DataSet是离线的,数据读取后可以关闭数据库连接,但是DataReader则必须在使用数据的时候一直连接数据库。现在的项目中大多使用实体(Entity)来保存从DataReader中读取的数据,也能实现离线的目的,虽然麻烦一点,但是后期很方便使用。

以上只是简单的比较,其它更多的都不说了。
大型项目中,DataReader几乎是首选,DataSet难觅踪影。

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/soudog/archive/2009/02/04/3862663.aspx

madgwick算法基于MPU9250姿态融合漂移问题的原因 基于MPU9250的madgwick算法姿态漂移问题原因 0、声明 因为这个是现象是不是共性目前本人还没研究过,只是在个体问题研究的基础上得出的结论,或许我买到的MPU9250是一个盗版:),所以只具备参考性。 1、现象 使用MPU9250的加速度计、角速度计、磁力计(AK8963)原始数据输入到madgwick算法中,得到的姿态最终会在停止姿态变化后仍然漂移一小段时间。其中加速度计和角速度计读取速率为400hz,磁力计为100hz,加速度计采样范围±2g,角速度计采样范... 阅读详情

相关推荐

中图法第五版SQL,支持树形结构可直接导入使用

基于第五版中图法官方数据收集整理,效果图如下:

cloudin_adin的博客 982

DataReader与Dataset有什么区别?

<br />第一种解释<br />DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..<br />DataSet则是将数据一次性加载在内存中.抛弃数据库连接..

平衡的陀螺 958

unity打包流程整理-Windows/Mac/Linux平台

1.Platform(平台)功能: 选择目标构建的目标平台选项PC, Mac & Linux Standalone: 适用于 Windows、Mac 和 Linux 平台2.Target Platform(目标平台)功能: 选择具体的操作系统版本选项Windows: 针对 Windows 操作系统Mac: 针对 macOS 操作系统Linux: 针对 Linux 操作系统3.Architecture(架构)功能: 选择应用程序的目标处理器架构选项x86: 针对 32 位系统。

weixin_42333247的博客 5139

DataReader和DataSet的区别

1. 获取数据的方式 DataReader为在线操作数据, DataReader会一直占用 SqlConnection连接,在其获得数据过程中其它操作不可以再使用SqlConnection连接对象。 DataSet为离线操作数据,DataSet会将数据一次性读入内存,然后断开连接,这时其它操作就可以使用SqlConnection连接对象。 由于DataReader一次只读取一行数据...

柳落青 1115

2.1 跟网型控制原理与局限性

本文深入分析了并网变流器的跟网型(GFL)控制技术及其局限性。GFL控制将变流器视为受控电流源,依赖锁相环(PLL)跟踪电网电压,在强电网下表现良好,但在弱电网中面临严峻挑战。研究发现,当电网短路比降低时,PLL动态与电网阻抗的负交互会导致系统失稳,同时GFL变流器缺乏电压支撑能力和惯量响应能力,在故障时易脱网。相比之下,构网型(GFM)控制具有电压源特性,能自主构建电网电压,更适合弱电网环境。随着新能源占比提高,GFL控制正逐渐被更具主动支撑能力的GFM控制所替代。

技术工作者 998

【新华三】DHCP+TFTP+ZTP自动开局实战

设备运行ZTP功能,可以自动获取并自动加载开局文件,实现设备的免现场配置和部署,从而降低人力成本,提升部署效率。使用TFTP服务器工具进行文件的上传和下载,网上很多TFTP server软件,大家可以自行下载。3CDaemon等,可以根据使用自取所需。大家应该都了解ZTP,但是目前发现除了控制器之外仅使用ZTP开局的兄弟并不是很多,因此分享此过程方便大家批量开局,留出更多时间学习更多技术。电脑打开DHCP服务器,TFTP服务器,并通过网线连接到设备的管理口,若设备较多可以通过带外交换机等进行连接,

五大连池的镜子 4983

C#中DataReader 和DataAdapter的区别

C#中DataReader 和DataAdapter的区别

changhuaiyou的博客 720

LwIP在国产MCU的落地实践:从协议栈优化到网络稳定性实战

本文详细介绍了LwIP协议栈在国产GD32F407 MCU上的移植与优化实践,涵盖硬件平台选择、驱动适配、协议栈调优和网络稳定性提升策略。通过内存管理优化、实时操作系统集成和性能测试,为工业物联网应用提供高可靠性网络通信解决方案,显著提升数据传输效率和系统稳定性。

m2n3b4v5c6的博客 270

DataReader和DataAdapter的比较

DataReader 1.使用DataReader需要对集合(list)配合使用,封装较为麻烦 2.但对集合作为数据源能够体现更好的面向对象特性 DataAdapter 1.与DataSet配合使用,后台无需单独封装,编写非常简单。 2.但不能更好的体现面向对象编程特性 两者如何选择? 1.开发角度:如果进行并行开发(负责不同层的开发),最好选择DataReader封装方法 2.数据筛选:如何前台...

Maybe_ch的博客 1240

飞书组织架构同步至LDAP:实现企业应用统一身份认证的实战指南

本文详细介绍了如何将飞书组织架构同步至LDAP,实现企业应用统一身份认证的实战方案。通过飞书开放平台API与LDAP服务的集成,企业可以大幅减少账号管理工作量,提升IT效率。文章涵盖技术架构设计、密码策略、详细配置步骤及自动化同步实现,特别适合需要统一认证体系的中大型企业。

weixin_29172201的博客 335

PY32F406K1CU6+I2C+ AT24C64 基本配置

【代码】PY32F406K1CU6+I2C+ AT24C64 基本配置。

sam的博客 90

SqlDataReader 和 SqlDataAdapter 、DateSet的比较

自:http://blog.youkuaiyun.com/soudog/archive/2009/02/04/3862663.aspx      SqlDataReader是个数据读取器,向前不可后退、每次只读取一条。速度快,现代项目里面用它用得最多。 DataSet是个内存数据库,它与其它两个是根本不一样的。SqlDataAdapter是个数据适配器,工作于DataSet和数据库之间,负

Mason's Blog 2025

【在 WSL2 GUI 中使用 pulseaudio 播放声音】

最近在搞一个Linux项目,由于WSL2中需要用到声音外放,无奈只能潜心研究。后来就使用了一种折中的方式替代,那就是pulseaudio。目前来讲WSL2对硬件外设的支持还是不太友好,关于USB的支持我之前在其他文章中已经论述过了,这里不讨论。1、Windows11别忘记打开声音2、可能有一定延迟,因为是通过网络传输的。3、效果的话只能见仁见智了,如果不能满足要求就安装一个实实在在的Ubuntu吧!

jiexijihe945的博客 4532

c# 中 sqldatareader 和 sqldataadapter 、dateset的比较

<br />SqlDataReader是个数据读取器,向前不可后退、每次只读取一条。速度快,现代项目里面用它用得最多。 <br />http://zhidao.baidu.com/question/64760694.html?fr=ala0<br /> <br /> <br />DataSet是个内存数据库,它与其它两个是根本不一样的。 <br />SqlDataAdapter是个数据适配器,工作于DataSet和数据库之间,负责将数据从数据源读出来放在DataSet中,或将DataSet中的更改更新回数据

hongyanjava的专栏 1137

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Ado.Net包含对象的常用属性和方法(未包含DateSet)(C#)

SqlConnection类构造函数(重载为两个函数):public SqlConnection();public SqlConnection(string);以给定的一个连接字符串来初始化一个Connection的事例。属性:.ConnectionString      .ConnectionTimeout 连接失效时间最重要的几个方法是:.open() .close() .Create

1988

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

黑马程序员---ADO.Net之DateSet

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- SqlDataReader是连接相关的, SqlDataReader中的查询结果并不是放到程序中的,而是放在数据库服务器中,SqlDataReader只是相当于放了一个指针(游标),只能读取当前游标指向的行,一旦连接断开就不能再读取。这

sh1324791的专栏 410

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

浅谈ADO.NET中的对象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable

    可能是当初没有好好总结的缘故,学习.NET以来,对ADO.NET中的对象一直有些模糊,今天重新回顾了一下,通过查资料,总结,结合自己的观点整理一下ADO.NET中Connection、Command、DataReader、DataAdapter、DataSet、DataTable这几个对象的相关知识,希望对初学者能起到一个全局把控的作用,希望大牛能留下宝贵的指导意见。    不谋万世者,不...

Trojan的博客 668

ado.net DataSet

一、概念 DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具...

weixin_30662109的博客 148

DataSet 和 DataReader 的区别

DataSet表示一个数据集,是数据在内存中的缓存,可以包含多个表。 DataSet连接数据库是非面向连接的,将数据读取到SQL缓冲池中后,断开连接。 DataReader连接数据库是面向连接的,读取数据时只能向前读取,读取结束,用户决定是否断开连接。 DataSet是数据的载体,保存数据结构。DataReader不承担保存数据的责任,它只负责从数据源读取数据。DataAdapte...

aorentu0744的博客 395

Dataset和DataReader区别

DataReader和DataSet的区别2009年03月18日 星期三 上午 09:52DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader

ygzhong000的专栏 1510

ASP.NET优化连载(三)只读数据访问用SqlDataReader,不要使用DataSet

   SqlDataReader 类提供了一种读取从 SQL Server 数据库检索的只进数据流的方法。如果当创建 ASP.NET 应用程序时出现允许您使用它的情况,则 SqlDataReader 类提供比 DataSet 类更高的性能。情况之所以这样,是因为 SqlDataReader 使用 SQL Server 的本机网络数据传输格式从数据库连接直接读取数据。另外,SqlDataReader

yale28的技术专栏 1097

DataReader用法

一、DataReader含义 DataReader相比于DataSet,DataReader是一个抽象类,所以不能用DataReader DR = new DataReader(),来构造函数创建对象,如果要创建一个DataReader对象,必须通过command对象的ExecuteReader方法。 DataReader对象访问数据的方式,只能顺序读取数据,而且不能写入数据(这点DataSe...

weixin_34396902的博客 480

C#面:DataReader与Dataset有什么区别

总结一下,DataReader适用于快速读取大量数据,但只能进行只读操作;而DataSet适用于对数据进行缓存和操作,可以进行增删改查等操作。C#中的DataReader和DataSet都是用于处理数据的类,但它们有一些区别。

那个那个鱼的博客 830

DataReader与DataSet有什么区别?

导读:   dataset表示一个数据集,是数据在内存中的缓存。 可以包括多个表   DatSet 连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接   datareader 连接数据库时是面向连接的。读表时,只能向前读取,读完数据后有用户决定是否断开连接。   分布式系统的数据可能会用dataset做数据载体,因为dataset是保存数据的数据结构,而Dat

山里娃的专栏 851

C#实现SQL全库检索数据-比较使用DataReader与DataAdapter+Datatable效率,差距惊人!

    为了项目的需要,往往需要知道一个值在哪几个表里出现过,进而分析这个程序的执行过程和处理逻辑。我们通常会使用SQL事件跟踪器。这个工具也没少用,但是在使用时经常对所跟踪到的事件太多而感到应接不暇。     于是,我做了一个给定一个值,可以查询在任意表中任意字段与此值相等的语句,指定对应的表和字段,这样的一个SQL全库检索工具。     在第一版中,我使用的是DataAdapter+Dat...

weixin_33884611的博客 718
上一篇: gridview、datalist、repeater、FormView、DetailsView的区别详解
下一篇: DataSet,DataTable,DataReader,DataAdapter区别(搞笑版)
老胖兔
博客等级 码龄19年 13粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值