第三篇 数据库编程
第一章 基本概念
和ASP中的ADO相对应,它是ADO的改进版本。中,通过Managed Provider所提供的应用程序编程接口(API),可以轻松地访问各种数据源的数据,包括OLEDB所支持的和ODBC支持的数据库。
中最重要的两个概念:Managed Provider和DataSet。
Managed Provider
过去,通过ADO的数据存取采用了两层的基于连接的编程模型。随着多层应用的需求不但增加,程序员需要一个无连接的模型。就应运而生了。的Managed Provider就是一个多层结构的无连接的一致的编程模型。
Managed Provider提供了DataSet和数据中心(如MS SQL)之间的联系。Managed Provider包含了存取数据中心(数据库)的一系列接口。主要有三个部件:
连接对象Connection、mand、参数对象Parameter提供了数据源和DataSet之间的接口。mand接口定义了数据列和表映射,并最终取回一个DataSet。
数据流提供了高性能的、前向的数据存取机制。通过IdataReader,你可以轻松而高效地访问数据流。
更底层的对象允许你连接到数据库,然后执行数据库系统一级的特定命令。
过去,数据处理主要依赖于两层结构,并且是基于连接的。连接断开,数据就不能再存取。现在,数据处理被延伸到三层以上的结构,相应地,程序员需要切换到无连接的应用模型。这样,中扮演了极其重要的角色。它可以取回一个DataSet,并维护一个数据源和DataSet之间的
“桥”,以便于数据访问和修改、保存。mand自动将数据的各种操作变换到数据源相关的合适的SQL语句。从图上可以看出,mand对象:mand、mand、mand、mand分别代替了数据库的查询、插入、更新、删除操作。
Managed Interop来实现数据存取。OLEDB支持自动的和手动的事务处理。所以,Managed Provider也提供了事务处理的能力。
DataSet
的中心概念。你可以把DataSet想象成内存中的数据库。正是由于DataSet,才使得程序员在编程序时可以屏蔽数据库之间的差异,从而获得一致的编程模型:
DataSet支持多表、表间关系、数据约束等等。这些和关系数据库的模型基本一致。
TablesCollection对象
DataSet里的表(Table)是用DataTable来表示的。DataSet可以包含许多DataTable,这些DataTable构成TablesCollection对象。
,它代表内存中的一张表(Table)。它包含一个称为ColumnsCollection的对象,代表数据表的各个列的定义。DataTable也包含一个RowsCollection对象,这个对象含有DataTable中的所有数据。
DataTable保存有数据的状态。通过存取DataTable的当前状态,你可以知道数据是否被更新或者删除。
RelationsCollection对象
各个DataTable之间的关系通过DataRelation来表达,这些DataRelation形成一个集合,称为RelationsCollection,它是DataSet的子对象。DataRelation表达了数据表之间的主键-外键关系,当两个有这种关系的表之中的某一个表的记录指针移动时,另一个表的记录指针也随之移动。同时,一个有外键的表的记录更新时,如果不满足主键-外键约束,更新就会失败。
通过建立各个DataTable之间的DataRelation,可以轻松实现在ASP中需要通过DataShaping才能实现的功能。
ExtendedProperties对象
在这个对象里可以定义特定的信息,比如密码、更新时间等。
小结
中数据库编程的两个基本概念Managed Provider和DataSet。中,DataSet屏蔽了具体数据源和应用之间差异,使得应用摆脱了具体数据的束缚。在我们今后的数据库编程中,可以把DataSet视为远端数据库在内存中的镜像,把繁琐的数据库操作任务交给Managed Provider去做。
第二章 访问数据库
访问数据库的步骤
不论从语法来看,还是从风格和设计目标来看,都和ADO有显著的不同。在ASP中通过ADO访问数据库,一般要通过以下四个步骤:
创建一个到数据库的链路,;
查询一个数据集合,即执行SQL,产生一个Recordset;
对数据集合进行需
第三篇 ADO.NET数据库编程 来自淘豆网www.taodocs.com转载请标明出处.