对于ADO.NET对象模型进行学习研究

开发 后端
如果你希望使用更新后的值从服务器刷新数据集中的值,使用DataAdapter.Fill。如果主键定义在数据表上,ADO.NET对象模型基于主键匹配新行,并把服务器的数据改成已存在的行。

ADO.NET对象模型包括用于直接与数据源通信的类。本书将这样的称为ADO.NET的“连接”类。多数连接类表示基本的数据访问概念,如与数据库、查询以及查询结果的物理连接等。

1. ProviderFactory类
ProviderFactory类是ADO.NET 2.0中新添加的类,相当于一个对象工厂,使开发人员能够为.NET数据提供程序创建其他类的实例。每个ProviderFactory类都提供一种Create方法,此方法创建Connections,ConnectionStringBuilders,Commands,Parameters,DataAdapters和CommandBuilders。

2. Connection类
Connection对象表示与数据源之间的连接。可通过Connection类的各种不同属性(property)指定数据源的类型、位置以及其他属性(attribute)。Connection对象大致相当于ADO Connection对象或DAO Database对象,可用它来建立或断开与数据库的连接。Connection对象起到渠道的作用,其他对象如DataAdapter和Command对象通过它与数据库通信,以提交查询并获取查询结果。

3. ConnectionStringBuilder类ConnectionStringBuilder类是ADO.NET 2.0中新添加的类,它简化了为.NET数据提供程序建立连接字符串的过程。每个ConnectionStringBuilder类公开一些属性,这些属性对应于可在.NET数据提供程序的连接字符串中使用的选项。例如,OdbcConnectionStringBuilder类公开一个Driver属性,OleDbConnectionStringBuilder类公开一个Provider属性。在使用ConnectionStringBuilder建立连接字符串之后,就可以利用ADO.NET对象模型的ConnectionString属性来访问该连接字符串。

4. Command类
Command对象的结构类似于ADO Command或DAO QueryDef对象。Command对象可表示对数据库的查询、对存储过程的调用或返回特定表内容的直接请求。
数据库支持多种不同类型的查询。有些查询通过引用一个或多个表、视图或者是通过调用一个存储过程来获取数据行,有些查询会对数据行进行修改,还有一些查询通过创建或修改诸如表、视图或存储过程等对象来对数据库的结构进行有关操作。可使用Command对象对数据库执行任何一种查询操作。#t#

使用Command对象查询数据库相当简单。先将Connection属性设置为连接数据库的ADO.NET对象模型,然后在CommandText属性中指定查询文本。可以提供一个如下所示的标准SQL查询:SELECT CustomerID, CompanyName, ContactName, Phone FROM Customers还可以仅提供表、视图或存储过程的名称,并使用Command对象的CommandType属性来设置需要执行的查询类型。Command类提供了执行查询的不同方式。

如果此查询不返回数据行,调用ExecuteNonQuery方法即可。Command类还有一个ExcuteReader方法,该方法返回一个DataReader对象,该对象可用来检查由查询所返回的数据行。如果只希望检索该查询所返回的第一行第一列,可以通过调用Command对象的ExecuteScalar方法来节省一些代码行。SqlCommand包括第4个执行方法ExecuteXmlReader,它与ExcuteReader相似,但专门用于处理以XML格式返回结果的查询。

5ADO.NET对象模型
DataReader用于以最快的速度检索并检查查询所返回的行。可使用DataReader对象来检查查询结果,一次检查一行。当移向下一行时,前一行的内容就会被放弃。DataReader不支持更新操作。由DataReader返回的数据是只读的。由于DataReader对象支持最小特性集,所以它的速度非常快,而且是轻量级的。如果曾经用过先前数据访问技术中的游标,那么可以将DataReader看作一种仅前向型(forward-only)只读游标,或者流水(firehose)游标。

责任编辑:chenqingxiang 来源: 华军资讯
相关推荐

2009-12-23 16:43:34

ADO.NET模型

2009-12-23 16:21:38

ADO.NET工具

2010-01-04 09:43:51

ADO.NET对象模型

2009-12-23 16:05:47

ADO.NET错误

2009-12-18 14:27:24

ADO.NET对象

2009-12-22 13:49:40

ADO.net属性

2009-12-22 16:42:57

ADO.NET研究

2009-11-03 15:24:14

ADO.NET对象模型

2009-06-18 09:56:44

ADO.NET对象模型

2009-12-23 14:07:09

ADO.NET实例对象

2009-12-29 14:09:17

ADO.NET通用接口

2009-12-22 09:50:23

ADO.NET学习

2010-01-04 10:39:33

ADO.NET描述

2009-12-24 16:56:21

ADO.NET库

2009-12-28 13:47:31

ADO.NET对象

2009-12-22 14:05:33

ADO.NET代码

2009-12-23 17:43:53

ADO.NET模型

2009-12-23 09:32:26

ADO.NET数据对象

2009-12-21 16:53:06

ADO.NET使用说明

2009-12-23 17:21:31

ADO.NET团队
点赞
收藏

51CTO技术栈公众号