日期:2012-03-17  浏览次数:20512 次

本文主要讨论了作为实现基本数据库操作方法之一的ADO.NET,以及ADO.NET与ADO的基本比较

  ADO.NET将成为构建数据感知 .NET应用程序的基础. 不同于ADO 的是,ADO.NET更具有通用性,不是那么专门针对数据库而进行的设计. ADO.NET聚集了所有可以进行数据处理的类.这些类呈现了具有典型数据库功能的data container objects,比如:索引,排序,浏览.尽管ADO.NET是作为重要的.NET数据库应用程序的解决方案,它更多的显示了涵盖全面的设计,而不仅是作为和ADO模型一样的以数据库为中心。.

  ADO .NET与ADO有很大的不同.它是一个全新的访问编程模型.当你开始使用ADO.NET时,你会发现你所掌握的任何关于ADO的技能在搭建有效的程序以及解决难题方面对你都会有很大帮助,能够帮你在解决问题上朝更灵活更稳妥的方向发展.

  ADO.NET不是ADO为适应.NET基础构造而进行改进的版本.当你慢慢了解了ADO.NET的语法,代码设计以及移植后,你就会清楚了.

  1.NET中的数据访问

  访问ADO.NET中的数据源是由托管提供程序所控制. 虽然托管提供程序与OLE DB有两处重大的不同,但是二者是极为类似的.首先, 托管提供程序在.NET环境下运行,通过 DataReader 和DataTable .NET类来检索和展示数据.第二,它们的体系结构都比较简单,是因为为了适应.NET而进行了优化.

  此时,ADO.NET分成两种不同类型的托管提供程序:一种用于SQL Server? 7.0 或更高版本,另一种适用于所有你可能已经安装的OLE DB 提供程序.虽然运用在两种托管提供程序中的类是不同的,但它们却都遵循相类似的命名方式.除开前缀之外,其它名称都是相同的.前一种情况前缀为SQL, 后一种则是ADO.

  你需要利用SQL类来访问SQL Server 表,因为SQL类会跳过由OLE DB 提供程序呈现的中间层, 而直接进入数据库服务器内部API. ADO类是位于OLE DB 提供程序顶端的.NET接口,利用COM Interop 桥来进行工作.

  关于ADO.NET的入门知识,你可以读读Omri Gazitt's的文章,文章里主要介绍了ADO+:

  关于微软..NET 框架的数据库访问服务(Data Access Services),而我的文章里关于ADO+的论述主要指出了数据种类的进化.前者更纯技术化,并提供了更高水平的关于ADO.NET编程模型的概述。后者主要是解释ADO.NETR的目标,以及它与XML,脚本及其它技术的联系.