注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

你所要的信息,请收入囊中。

 
 
 

日志

 
 

[VF专题]数据库访问技术(一)  

2013-06-05 19:48:50|  分类: 计算机 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

数据库访问技术(一)

 

首先我们介绍DAO。

  DAO(Data Access Objects)数据访问对象是第一个面向对象的接口,它显露了Microsoft Jet数据库引擎(最早是给Microsoft Access所使用,现在已经支持其它数据库),并允许开发者通过ODBC象直接连接到其他数据库一样,直接连接到Access表。DAO最适用于单系统应用程序或小范围本地分布使用。

  RDO(Remote Data Objects)远程数据对象是一个到ODBC的、面向对象的数据访问接口,它同易于使用的DAO style组合在一起,提供了一个接口,形式上展示出所有ODBC的底层功能和灵活性。尽管RDO在很好地访问Jet或ISAM数据库方面受到限制,而且它只能通过现存的ODBC驱动程序来访问关系数据库。但是,RDO已被证明是许多SQL Server、Oracle以及其他大型关系数据库开发者经常选用的最佳接口。RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。

  ADO(ActiveX Data Object)是DAO/RDO的后继产物。ADO 2.0在功能上与RDO更相似,而且一般来说,在这两种模型之间有一种相似的映射关系。ADO“扩展”了DAO和RDO所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数),以及事件。例如,ADO没有与rdoEngine和rdoEnvironment对象相等同的对象,可以显露ODBC驱动程序管理器和hEnv接口。尽管事实上您的接口可能是通过ODBC OLE DB服务提供程序实现的,但您当前也不能从ADO中创建ODBC数据源。
  由于ADO现在? 最多的面向对象的数据访问模型,我们重点的介绍一下ADO 2.0对象模型。

  ADO 2.0对象模型是由七个对象组成的,它们中的大多数在功能上和RDO对象相似,只不过具有更强的功能性而已。


   Command对象:包含关于某个命令,例如查询字符串、参数定义等的信息。Command对象在功能上和RDO的rdoQuery对象相似。

   Connection对象:包含关于某个数据提供程序的信息。Connection对象在功能上和RDO的rdoConnection对象是相似的,并且包含了关于结构描述的信息。它还包含某些RDOEnvironment对象的功能, 例如transaction控件。

   Error对象:包含数据提供程序出错时的扩展信息。Error对象在功能上和RDO的rdoError对象相似。

   Field对象:包含记录集中数据的某单个列的信息。Field对象在功能上和RDO的rdoColumn对象相似。

   Parameter对象:包含参数化的Command对象的某单个参数的信息。该Command对象有一个包含其所有Parameter对象的Parameters集合。Parameter对象在功能上和RDO的rdoParameter对象相似。

   Property对象:包含某个ADO对象的提供程序定义的特征。没有任何等同于该对象的RDO,DAO有一个相似的对象。

  ADO对象可以具有两种属性:

  Built-In属性:ADO的“本地”属性。也就是说,任何使用熟悉的MyObject.Property语法的新对象都可以立即使用的ADO中的属性。Built-in属性并不在某个对象的Properties集合中以Property对象的形式出现,因此尽管您可以修改它们的值,您却不能修改它们的特性或将它们删除。

  Dynamic属性:ADO的非本地属性,它们是由下一级数据提供程序定义的。它们出现在合适的ADO对象的Properties集合中。例如,一个数据提供程序特有的属性可能指明某个Recordset对象是支持事务还是支持更新。这些附加的属性在Recordset的Properties集合中以Property对象的形式出现。Dynamic属性只能用MyObject.Properties(0)或MyObject.Properties("Name")语法通过集合来引用。不同的数据提供程序可能提供一个或多个特殊的属性,来处理提供程序特有的操作。
   Recordset对象:Recordset对象包含某个查询返回的记录,以及那些记录中的游标。Recordset对象在功能上和RDO的rdoResultset对象相似。可以在不用显式地打开Connection对象的情况下,打开一个Recordset(例如,执行一个查询)。 

创建一个Connection对象,您就可以在同一个连接上打开多个Recordset对象。

  包含在DAO和RDO模型中的许多功能被合并为单个对象,这样就生成了一个简单得多的对象模型。然而,由于这个原因,起初可能会觉得找到合适的ADO对象、集合、属性、方法,或事件非常困难。与DAO和RDO不同的是,尽管ADO对象是分层结构的,但在分层结构范围之外也是可以创建的。

  不过,也应当注意,ADO当前并不支持DAO的所有功能。ADO主要包括RDO风格的功能性,以便和OLE DB数据源交互,另外还包括远程和DHTML技术。

  最后,我们再简单的介绍一下OLE DB。

  OLE DB是COM(COM是微软提出的一种中间件模型,从COM到DCOM,再到COM+)模型的数据库接口。OLD DB是一系列的接口集合。是新的低层接口,它介绍了一种“通用的”数据访问方法。也就是说,OLE DB并不局限于TóúI、AM?甚至关系数据源,但是它能够处理任何类型的数据。OLE DB向应用程序提供一个统一的数据访问方法,而不考虑它们的格式和存储方法。在实际应用中,这种多样性意味着可以访问驻留在电子数据表、文本文件甚至邮件服务器,诸如 Microsoft Exchang中的数据。

  评论这张
 
阅读(67)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017