ADO.NET (二)—— ADO和ADO .NET对比

2024-08-27 22:32
文章标签 net 对比 ado

本文主要是介绍ADO.NET (二)—— ADO和ADO .NET对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  

                   ADO.NET (二)—— ADO和ADO .NET对比


   
  我们知道ADO.NET的两大核心组件分别是Data Provider和DataSet。如果说

DataSet是ADO.NET的心脏,那么Data Provider绝对是ADO.NET的左臂右膀。

Data  Provider提供了访问外部数据数据源的可能性,而且外部的数据源是多样的。本

文将详细说明.NET数据提供程序的作用以及如何访问不同的数据源。
     
   详情细看《ADO.NET技术》


               


         

           







ADOADO.NET的详细比较:

        

          


1、可伸缩性:

      

     a)   ADO:因为在ADO中,默认情况下是使用连接的Recordset对象、数据库锁定


和活动数据库连接,以长时间地争夺有限的数据库资源;

              

    b)   ADO.NET:对数据库数据进行断开连接的访问,无需进行长时间地维护数据库锁定


或者有效数据库连接,没有对有限的数据库资源的争夺。

 


2、 可编程性:

              a)   ADO:所有Recordset字段数据类型都是COM Variant数据类型,并通常和数据


库表中的字段名相对应;

                

           b)   ADO.NET:使用XML的强类型化的编程特征。数据是自我描述的,因为代码项


名对应于代码所处理的真实问题。DataSetDataReader对象中的数据是强类型化的,使


代码更容易阅读和编写;

     


3、断接访问

                a)  ADO:由Recordset提供,但必须显式编码。对于Recordset对象,在默认情况


下是通过调用OLE DB提供程序来和数据库通信;

               

             b)  ADO.NET:对DataAdapter对象使用标准化的调用,来和数据库通信。该对象可


以和OLE DB数据提供程序或直接与SQL Sever数据提供程序通信;

              

4、表之间的关系:

            a)   ADO:需要对单个结果表中的多个数据库表使用JOIN查询来组装数据,并提供


层次结构记录集,不过它们很难使用;

           

            b)   ADO.NET:支持DataRelation对象,将一个DataTable对象中的行和另一


DataTable对象中的行关联起来;      

 


 

5、驻留留内存数据表达方式:

          1)   ADO:使用Recordset对象保存单行数据,很像数据库表;

          

         2)   ADO.NET:使用DataSet对象,该对象可以包含由DataTable对象表示的一个或多个表;

         


        

6、   数据导航:

                 a)  ADO:使用.MoveNext方法顺序遍历Recordset中的行;

               

               b)  ADO.NETDataSet使用导航范例对一个表中的行进行无序访问。对该数据的


访问类似于访问集合或数组中的数据。这对于DataTableRows集合来说是可能的,它允


许通过索引来访问行。按照关系从一个表中的行导航到另一个表中的相应行;




7.   通过防火墙发送数据:

                a)   ADO:这对于ADO来说,比较成问题,因为防火墙通常用于防止系统级请


求,如COM编组;

                

             b)   ADO.NETADO.NET支持这一功能,因为ADO.NETDataSet对象使


XMLXML可以通过防火墙;

     



8、 共享各层间或组件间的断开连接数据:

                 a)   ADO:使用COM编组以发送断开连接的数据集,它只支持由COM标准定义的


数据类型。需要进行类型转换,这要求使用系统资源;

               

              b)   ADO.NET:以XML格式发送DataSetXML格式对数据类型没有限制,不需要类 型转换;





小结:


 进行对比之后,自己的思路更加的清晰明了,但是更多的还是要到实践中去掌握和了解。



      

        

                  






这篇关于ADO.NET (二)—— ADO和ADO .NET对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112961

相关文章

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

.NET利用C#字节流动态操作Excel文件

《.NET利用C#字节流动态操作Excel文件》在.NET开发中,通过字节流动态操作Excel文件提供了一种高效且灵活的方式处理数据,本文将演示如何在.NET平台使用C#通过字节流创建,读取,编辑及保... 目录用C#创建并保存Excel工作簿为字节流用C#通过字节流直接读取Excel文件数据用C#通过字节

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

2、PF-Net点云补全

2、PF-Net 点云补全 PF-Net论文链接:PF-Net PF-Net (Point Fractal Network for 3D Point Cloud Completion)是一种专门为三维点云补全设计的深度学习模型。点云补全实际上和图片补全是一个逻辑,都是采用GAN模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像

免费也能高质量!2024年免费录屏软件深度对比评测

我公司因为客户覆盖面广的原因经常会开远程会议,有时候说的内容比较广需要引用多份的数据,我记录起来有一定难度,所以一般都用录屏工具来记录会议内容。这次我们来一起探索有什么免费录屏工具可以提高我们的工作效率吧。 1.福晰录屏大师 链接直达:https://www.foxitsoftware.cn/REC/  录屏软件录屏功能就是本职,这款录屏工具在录屏模式上提供了多种选项,可以选择屏幕录制、窗口

类的load方法和initialize方法对比

1. load方法在main()之前被调用,而initialize方法在main()之后调用 load方法实际是在load_images过程中被调用的。load_images会将当前应用依赖的所有镜像(动态库)加载到内存,在在加载中首先是对镜像进行扫描,将所有包含 load 方法的类加入列表 loadable_classes ,然后从这个列表中逐一调用其所包含的 load 方法。 +[XXCl

JavaScript正则表达式六大利器:`test`、`exec`、`match`、`matchAll`、`search`与`replace`详解及对比

在JavaScript中,正则表达式(Regular Expression)是一种用于文本搜索、替换、匹配和验证的强大工具。本文将深入解析与正则表达式相关的几个主要执行方法:test、exec、match、matchAll、search和replace,并对它们进行对比,帮助开发者更好地理解这些方法的使用场景和差异。 正则表达式基础 在深入解析方法之前,先简要回顾一下正则表达式的基础知识。正则