本文主要讨论了作为实现基本数据库操作方法之一的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 gazitts的文章,文章里主要介绍了ado+:
关于微软..net 框架的数据库访问服务(data access services),而我的文章里关于ado+的论述主要指出了数据种类的进化.前者更纯技术化,并提供了更高水平的关于ado.net编程模型的概述。后者主要是解释ado.netr的目标,以及它与xml,脚本及其它技术的联系.