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

相关文章

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

python中字符串拼接的几种方法及优缺点对比详解

《python中字符串拼接的几种方法及优缺点对比详解》在Python中,字符串拼接是常见的操作,Python提供了多种方法来拼接字符串,每种方法有其优缺点和适用场景,以下是几种常见的字符串拼接方法,需... 目录1. 使用 + 运算符示例:优缺点:2. 使用&nbsjsp;join() 方法示例:优缺点:3

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

基于.NET编写工具类解决JSON乱码问题

《基于.NET编写工具类解决JSON乱码问题》在开发过程中,我们经常会遇到JSON数据处理的问题,尤其是在数据传输和解析过程中,很容易出现编码错误导致的乱码问题,下面我们就来编写一个.NET工具类来解... 目录问题背景核心原理工具类实现使用示例总结在开发过程中,我们经常会遇到jsON数据处理的问题,尤其是

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

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

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