ADO与ADO.NET既有相似也有区别(转自csdn)

ADO与ADO.NET既有相似也有区别,他们都能够编写对数据库服务器中的数据进行访问和操作的应用程序

,并且易于使用、高速度、低内存支出和占用磁盘空间较少,支持用于建立基于客户端/服务器和 Web

的应用程序的主要功能。但是ADO使用OLE DB接口并基于微软的COM技术,而ADO.NET拥有自己的ADO.NET

接口并且基于微软的.NET体系架构。众所周知.NET体系不同于COM体系,ADO.NET接口也就完全不同于ADO

和OLE DB接口,这也就是说ADO.NET和ADO是两种数据访问方式。
  

[@more@]


数据访问方式的历史
  下面简单的回顾一下微软的数据访问方式所走过的几个阶段。
  
  ODBC – (Open Database Connectivity)是第一个使用SQL访问不同关系数据库的数据访问技术。

使用ODBC应用程序能够通过单一的命令操纵不同的数据库,而开发人员需要做的仅仅只是针对不同的应

用加入相应的ODBC驱动。
  
  DAO - (Data Access Objects)不像ODBC那样是面向C/C++程序员的,它是微软提供给Visual

Basic开发人员的一种简单的数据访问方法,用于操纵Access数据库。
  
  RDO – 在使用DAO访问不同的关系型数据库的时候,Jet引擎不得不在DAO和ODBC之间进行命令的转

化,导致了性能的下降,而RDO(Remote Data Objects)的出现就顺理成章了。
  
  OLE DB – 随着越来越多的数据以非关系型格式存储,需要一种新的架构来提供这种应用和数据源

之间的无缝连接,基于COM(Component Object Model)的OLE DB应运而生了。
  
  ADO – 基于OLE DB之上的ADO更简单、更高级、更适合Visual Basic程序员,同时消除了OLE DB的

多种弊端,取而代之是微软技术发展的趋势。


ADO与ADO.NET对照
  在开始设计.NET体系架构时,微软就决定重新设计数据访问模型,以便能够完全的基于XML和离线计

算模型。两者的区别主要有:
  
  ADO以Recordset存储,而ADO.NET则以DataSet表示。Recordset看起来更像单表,如果让Recordset

以多表的方式表示就必须在SQL中进行多表连接。反之,DataSet可以是多个表的集合。ADO 的运作是一

种在线方式,这意味着不论是浏览或更新数据都必须是实时的。ADO.NET则使用离线方式,在访问数据的

时候ADO.NET会利用XML制作数据的一份幅本,ADO.NET的数据库连接也只有在这段时间需要在线。
  
  由于ADO使用COM技术,这就要求所使用的数据类型必须符合COM规范,而ADO.NET基于XML格式,数据

类型更为丰富并且不需要再做COM编排导致的数据类型转换,从而提高了整体性能。
  
小结
  ADO.NET为.NET构架提供了优化的数据访问模型,和基于COM的ADO是完全两样的数据访问方式。


ado.net与ado存在着比较大的差异:
1.ado.net遵循更通用的原则,不那么专门面向数据库。ado.net集合了所有允许数据处理的类。这些类

表示具有典型数据库功能(如索引,排序和视图)的数据容器对象。尽管ado.net是.net数据库应用程序

的权威解决方案,但从总体设计上看,它不像ado数据模型那样以数据库为中心,这是ado.net的一大特

点。
2.目前,ado.net提供了两种数据库访问类库:一种用于sql server 7.0 或更高版本,另一种用于其他

所有您可能已经安装的ole db提供程序。在这两种情况下,您分别使用不同的类,但遵循相似的命名规

则。除前缀,名称都是相同的。前一种情况前缀为sql,后一种情况则是oledb。同时,.net框架还提供

了odbc .net的数据访问模式。odbc .net data provider是 .net 框架的增强组件,它可以访问原始的

odbc 驱动程序,就像 ole db .net data provider 可以访问原始的 ole db providers 一样。目前它

仅在下列驱动程序中测试过:microsoft sql odbc driver,microsoft odbc driver for oracle,

microsoft jet odbc driver。
3.ado.net提供了两个队形来处理从数据源中抽取数据,它们是dataset和datareader对象。前者是记录

在内存中的缓存,您可以从任何方向随意访问和修改。后者是高度优化的对象,专为以仅向前方式滚动

只读记录而设计。
4.ado.net统一了数据容器类编程接口,无论您打算编写何种应用程序,windows窗体,web窗体还是web

服务,都可以通过同一组类来处理数据。不管在后端的数据源数sql server数据库,ole db,xml文件还

是一个数组,您都可以通过相同的方法和属性来滚动和处理它们的内容。
5.在ado中,xml只不过是输入和输出格式。然而在ado.net中,xml是一种数据格式,提供了操作,组织

,共享和传递数据的手段。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7757832/viewspace-916390/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7757832/viewspace-916390/

VB.NET书籍整理,持续更新! VB.NET书籍整理,包含VB.NET书籍,ASP.NET书籍,ADO.NET书籍 Email-zhangchaochn@qq.com 欢迎技术交流. 阅读详情

相关推荐

【愚公系列】2024年01月 WPF+上位机+工业互联 090-ADO.NET的基本使用

数据库操作是指对数据库进行各种操作的行为,如增加、删除、修改、查询等。编程语言需要进行数据库操作,是因为数据库是一种存储和管理数据的方法,可以方便地存储和访问大量数据,因此在各种应用场景下,需要使用数据库来存储和管理数据,以提高数据存储和访问的效率和准确性。编程语言通过使用数据库操作的相关语句和接口,可以对数据库进行各种操作,从而实现对数据的存储和访问。

愚公智库 2万+

Ado与Ado.net的相同与不同?

除了“能够让应用程序处理存储于DBMS 中的数据“这一基本相似点外,两者没有太多共同之处。但是Ado使用OLE DB 接口并基于微软的COM 技术,而ADO.NET 拥有自己的ADO.NET 接口并且基于微软的.NET 体系架构。众所周知.NET 体系不同于COM 体系,ADO.NET 接口也就完全不同于ADO和OLE DB 接口,这也就是说ADO.NET 和ADO是两种数据访问方式。ADO.ne...

jardownload的博客 215

数据访问技术路线图(ADO与ADO.NET自由转换)

数据访问技术路线图发布日期: 3/22/2005 | 更新日期: 3/22/2005Prash Shirolkar, AuthorAlyssa Henry, ContributorStephen Pepitone, ContributorAcey J. Bunch, ContributorMicrosoft Corporation摘要:了解 Microsoft 数据访问技术的过去、现在和未来。本页

iihero@优快云 3190

C# ADO.NET概述

数据提供程序(Data Providers):ADO.NET 提供了各种数据提供程序,用于连接和操作不同类型的数据源。最常用的数据提供程序是 "System.Data.SqlClient"(用于连接 SQL Server 数据库)和 "System.Data.OleDb"(用于连接其他关系型数据库)。连接对象(Connection):连接对象用于建立与数据源的连接,并提供了管理连接状态、打开和关闭连接的方法。ADO.NET 是一个面向对象的数据访问技术,旨在提供可靠、高性能的数据访问解决方案。

2201_75958481的博客 1087

STM32F103+AX58100 EtherCAT从站SPI移植实战:CubeMX配置避坑指南

本文详细介绍了STM32F103与AX58100 EtherCAT从站控制器的SPI接口移植实战,重点解析CubeMX配置中的关键参数与常见陷阱。内容涵盖硬件连接规范、SPI模式设置、中断优先级规划及协议栈对接技巧,帮助开发者高效实现工业自动化领域的实时通信方案。特别强调CPOL/CPHA配置与AX58100的匹配要求,避免数据错位问题。

weixin_29230865的博客 331

OpenClaw 完整部署教程

版本:OpenClaw 2026.2.13更新日期:2026-02-26适用系统:Linux (Ubuntu/Debian/CentOS)

qq_39436086的博客 2318

视频教程-winform控件与ADO.NET-C#

winform控件与ADO.NET 从事软件开发10年,熟悉软件开发流程,精...

weixin_31024897的博客 199

FPGA串口通信----uart(一)

通过PLL锁相环IP的使用,可以输入时钟进行分频,倍频,也可以产生多路时钟输出信号。外部提供晶振的原因:①Fpga电路大多数需要时序分析②晶振在Fpga内部占空间大,所以放置于外部PCB板上Uart异步传输速率不能很快的原因:考虑到工程实际问题,假如时钟周期大(传输速率慢的话),采取到数据电平变化的边沿时刻的概率会小很多,这样数据也很准确,通常uart适用于2M.

mvpkuku的博客 970

ADO 简介

ADO(ActiveX Data Objects)是微软开发的数据库访问技术,通过COM组件连接多种数据库(如Access、SQL Server)。它提供Connection、Recordset等核心对象,支持SQL查询、事务处理等操作,适用于经典ASP、VBA等环境。虽然现代开发中已逐渐被ADO.NET取代,但在遗留系统或简单脚本中仍有应用。ADO依赖Windows环境,需MDAC支持,现代替代方案包括pyodbc、SQLAlchemy等ORM工具。使用时需注意性能优化和SQL注入防护。

m0_57545130的博客 1647

别再踩坑了!Vue3 + Vant 手把手教你搞定飞书网页应用免登(SSO),附完整代码和重定向URL配置

本文详细介绍了如何使用Vue3和Vant实现飞书H5应用的免登(SSO)功能,包括飞书后台配置的关键细节、Vue3前端实现的最佳实践以及常见问题排查指南。特别针对重定向URL配置、安全设置和错误处理等常见陷阱提供了解决方案,并附有完整代码示例和性能优化建议。

weixin_29323551的博客 405

2026年1至9月武汉市房地产价格深度分析报告

本报告基于2026年1月至9月武汉市实际成交案例,从成交价格、区域分布、户型结构、价格走势等维度进行深度分析。数据来源包括武汉市住房保障和房屋管理局备案数据、主要中介机构成交记录及典型楼盘网签案例,覆盖全市15个行政区及主要功能板块。

王国平的博客 331

浅谈如何使用ADO.NET操作数据库

最近回顾了一下优快云中的帖子,发现很多问题都是关于数据库操作方面的,而其中大部分牵扯到如何使用DBConnection、DBCommand、DataAdapter以及DataReader这几个类库。以下就本人开发的经验,和大家分享一下这方面的心得。 首先第一个要说的是DBConnection,它的作用是相当于在程序与数据库服务器之间建立一条的通路,因此缺少了它,那么所有对数据库的操作都变

愚翁专栏 1万+

手把手教你学Simulink——基于Simulink的多用户MIMO系统仿真建模示例

多用户MIMO概述在多用户MIMO系统中,基站配备多个天线,可以同时与多个用户进行通信。利用空间复用技术,不同用户的信号被分配到不同的空间流上,从而实现频谱资源的高效利用。多用户MIMO的核心挑战包括信道估计、波束成形设计以及干扰管理。关键技术点波束成形:通过调整发射信号的相位和幅度,在特定方向上增强信号强度并减少干扰。信道估计:获取每个用户的信道状态信息(CSI),用于优化波束成形矩阵。调制与解调:选择合适的调制方式(如QPSK、16-QAM等)以适应不同用户的信道条件。干扰消除。

MHD0815的博客 271

视频教程-ASP.NET就业实例视频教程(2)ADO.NET——将数据显示到界面上-.NET

ASP.NET就业实例视频教程(2)ADO.NET——将数据显示到界面上 徐...

weixin_30350677的博客 312

本地部署AI应用:基于Google Gemini的banana-prompt快速上手指南

AI应用开发的核心在于将大模型能力集成到实际场景中,其原理是通过API调用将用户输入转化为模型可理解的指令,再由模型生成响应。这一技术价值在于降低AI应用开发门槛,实现数据本地化处理与隐私保护。在工程实践中,开发者常面临环境配置复杂、API集成繁琐等挑战。本文聚焦于使用banana-prompt工具包,通过TypeScript技术栈和npm包管理,快速在Windows本地部署基于Google Gemini API的AI应用。该方案特别适用于ai-prompts提示词工程和content-creation内容

weixin_27188815的博客 316

强化学习优化多目标冲突推理的决策过程设计

1. 背景介绍 强化学习(Reinforcement Learning,RL)作为机器学习的一个重要分支,近年来在计算机科学和人工智能领域取得了显著的进展。其核心思想是通过试错来学习最优策略,从而在复杂的环境中实现目标。然而,在多目标冲突推理(Multi-Objective Conflict Reasoning,MOCR)问题上,强化学习面临着诸多挑

AI天才研究院 1513

引言:为什么会有ADO.NET

      最近发现在自己在做项目的过程中,学过的一些东西运用得不是很熟,而且有些简单的知识点都要去在网上搜索资料、在优快云论坛上发帖、请教网友和同事,有些问题得不到及时的解决。这样一来,必然会影响到项目团队的开发进度,大觉都知道,一个优秀的团队往往是一个成功的团队,这样的团队在项目的开发进度,时间管理,人员分配,任务分配都有合理的规划和控制,当然、这得需要一个优秀的项目带头人及优秀的合作成员。

inmyownsky1的专栏 475

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

ADO.NET 的最佳实践技巧(来自优快云)

简介本文为您提供了在 Microsoft ADO.NET 应用程序中实现和获得最佳性能、可伸缩性以及功能的最佳解决方案;同时也讲述了使用 ADO.NET 中可用对象的最佳实践;并提出一些有助于优化 ADO.NET 应用程序设计的建议。本文包含: • 有关 .NET 框架包含

781

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

ADO.NET 快速入门(六):读写 XML

ADO.NET 和 DataSet 可以读写 XML Schema 和 XML。获取更多信息,请参考 How do I...Use XML and the DataSet?   DataSet 的 Schemas,或者 tables、columns、constraints 等等,可以用几种方式定义。一种方法是利用特性和方法创建他们(Tables.Add、Columns.Add、等等

rose_and_sun的博客 401

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ADO.net

概念: ADO.NET:ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、 Excel表格或者XML文件。 ADO.NET允许和不同类型的数据源以及数据库进行交互。 对象: Connection:连接数据库。 Command:对数据库发出一些指令。 DataAdapter:在数据源以及DataSet之间执行数据库传输工作,可以...

有一颗大心才盛的下喜怒,输的出力量 209

VS2019下使用创建sqlite的ADO.NET实体数据模型

前言 特别鸣谢: VS2012启用SQLite的Data Provider 以及 using-sqlite-with-entity-framework-6 第二篇文章的链接是在stackoverflow找到的, sqlite-connection-not-appearing-in-entity-data-model-wizard 但是这个问题跟我的没有半毛钱关系我只是各种搜索答案而已。 解决方案 安装DDEX(aka Data Designer Extensibility) NuGet获取EF6实体最

ljp188的专栏 1607

视频教程-ado.net精讲-SQL Server

ado.net精讲 .net技术开发专家,长期至力于研究微软开发技术,擅长桌...

weixin_34832128的博客 309

使用 ADO.NET 解锁 Microsoft Access 数据(1)

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 513
上一篇: 计算农历年 (转载)
下一篇: 数据仓库建模——渐变维度处理(转载)
cpp872623
博客等级 码龄12年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值