对于ADO.NET体系结构的学习,首先碰到的就是环境的配置。以前学的Visual Studio2003,但并没有怎么用。所以有一个星期的时间基本是在用实践着.net 1.0,大大影响了工作效率。
连接模式(Connected Mode)和非连接模式(Disconnected Mode)。运用过ADO.NET体系结构的开发人员对前一种模式应该是非常熟悉的,而后一种模式则是ADO.NET才具有的。相比于传统的数据库访问模式,非连接的模式为应用程序提供了更大的可升级性和灵活性。在该模式下,一旦应用程序从数据源中获得所需的数据,它就断开与原数据源的连接,并将获得的数据以XML的形式存放在主存中。在应用程序处理完数据后,它再取得与原数据源的连接并完成数据的更新工作。
ADO.NET中的DataSet类是非连接模式的核心,数据集对象(DataSet)是以XML的形式存放数据。ADO.NET体系结构应用程序既可以从一个数据库中获取一个数据集对象,也可以从一个XML数据流中获取一个数据集对象。而从用户的角度来看,数据源在哪里并不重要,也是无需关心的。这样一个统一的编程模型就可被运用于任何使用了数据集对象的应用程序。
ADO.NET体系结构中还有一个非常重要的部分就是数据提供者对象(Data Provider),它是访问数据库的必备条件。ADO.NET体系结构通过它应用程序可以产生相应的数据集对象;同时它还提供了连接模式下的数据库访问支持。图1描述了ADO.NET总体的体系结构。
ADO.NET的数据访问技术的架构。ADO.NET支持SQL Server数据访问和OLE DB数据访问。两者相比,前者是针对SQL Server的数据库访问引擎,所以访问SQL Server数据库效率会高许多,但只支持SQL Server。后者是比较通用的数据库访问引擎,可以支持广泛的数据库,但效率不如前者。#t#
对开发者来说,如果不用到某种数据库的特性,其大体使用方法是一致的。ADO.NET体系结构数据库的连接部分,Connetion对象。提供了与具体数据库的连接方式,具体你是用SqlConnection对象还是OleDbConnection对象。
下面给出两段典型的数据库连接的例子。在此之前,请在程序头部using处添加using System.Data.SqlClient或System.Data.OleDb,以保证数据库访问时用到的命名空间能引用。