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

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技术》


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


         

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




ADO.NET (2)—— ADO和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 (2)—— ADO和ADO .NET对比
                  






版权声明:本文为博主原创文章,未经博主允许不得转载。