对于ADO.NET对象模型进行学习研究
创始人
2024-06-19 03:21:42
0

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)游标。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...