注册 登录
Office中国论坛/Access中国论坛 返回首页

leolong的个人空间 http://www.office-cn.net/?155046 [收藏] [复制] [分享] [RSS]

日志

DAO

已有 2030 次阅读2009-4-28 19:01 |个人分类:VB相关|

第一章 初识DAO

  什么是DAO?DAO就是Database Access Object,数据库访问对象的英文缩写。在VB中提供了两种与Jet数据库引擎接口的方法:Data控件和数据访问对象(DAO)。Data控件只给出有限的不需编程而能访问现存数据库的功能,而DAO模型则是全面控制数据库的完整编程接口。Data控件将常用的DAO功能封装在其中,它与DAO控件的关系就好象内存与CACHE之间的关系一样,所以这两种方法并不是互斥的,实际上,它们常同时使用。

  DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理一个关系型数据库系统所需的全部操作的属性和方法,这其中包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等。

  Visual Basic中的数据库编程就是创建数据访问对象,这些数据访问对象对应于被访问物理数据库的不同部分,如数据库、表、字段和索引等,同时用这些对象的属性和方法来实现对数据库的操作,以便在Visual Basic窗体中使用绑定和非绑定控件来显示操作结果并接收用户输入。

Visual Basic通过DAO和Jet引擎可以识别三类数据库:

■ VisualBasic数据库

也就是*.MDB数据库

■ 外部数据库

它们是使用几种流行格式的“索引顺序访问方法(ISAM)”数据库,这些流行格式包括Btrieve、dBASEIII、dBASEIV、Microsoft FoxPro versions2.0和2.5以及Paradox versions 3.x和4.0。在Visual Basic中能够创建和操作所有以上格式的数据库。也可以访问文本文件数据库和Microsoft Excel或Lotus1-2-3电子表格。

■ ODBC数据库

包括符合ODBC标准的客户/服务器数据库,如Microsoft SQL Server。要在Visual Basic中创建真正的客户/服务器应用程序,可以使用ODBC Direct直接把命令传递给服务器处理。也就是说Visual Basic还支持其它不使用Jet数据库引擎的数据访问方法。数据访问对象的ODBC Direct模式允许使用同样的对象模型和语法绕过Jet引擎直接访问ODBC数据。

由上面的叙述可知,对于编程人员来讲,你只须了解DAO的使用,对具体的数据库系统无须做深入的探讨,就可对几乎任何一种数据库进行操作,“以不便应万变”, 而对数据库文件自身的物理操作,将由相应的数据库引擎把数据访问对象上的这些操作转换为对数据库文件自身的物理操作,这些引擎来处理所有与各种数据库的接口。

第二章 DAO的结构

上一章我们知道了DAO是什么,它可以干什么,以及简单的了解了它是如何实现这一功能,这一章我们讲逐步学习DAO的结构。在将讲这一章之前,首先讲两个题外话:

面向对象编程

    大家对面向对象编程一定不陌生,但究竟什么是面向对象编程,很多人一下子也说不出个所以然来;在VB的DAO中又是如何体现面向对象的呢,恐怕即便是使用了一段VB的网友也很难说清。这也难怪,VB本身并不是个完全的面向对象的编程环境,它的很多如动态数组等就不是面向对象的,但在DAO中是完全的面向对象的。其实面向对象的最初思想就是将数据和操作封装在一起,形成对象,而在DAO中正是体现了这一点,它将数据的值作为属性,数据的查询作为方法,数据值的变化作为事件,完全封装在DAO对象中,希望诸位盟友在使用中注意,逐步领悟面向对象的编程方法。

数据库前端开发系统和后台系统

经常由朋友说他会DELPHI,会PB,实际上用前端和后台的概念来看,他们都只是会一种前端开发工具而已,严格说起来并不能算会数据库的开发。人们往往只看到前台应用的功能而忽视了后台系统的应用,或者认为这两者根本就是一回事。前端后台概念用在单机上,就是VB与Access,用在网络中就是VB与SQL Sever,只会VB或DELPHI是不能称为掌握数据库编程的,而且在编程中,要善于利用后台数据库提供功能,这样的程序运行起来更快,程序更精练。

题外话讲完,现在切入正题。DAO的结构如图所示:

DAO结构示意图

 以上是DAO整体结构图,下面将分章节逐步讲述每个对象的使用

发表评论 评论 (1 个评论)

回复 lanydesign 2009-8-13 00:53
谢谢分享

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 08:30 , Processed in 0.064375 second(s), 18 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部