VB数据库编程技术

  • 格式:doc
  • 大小:452.50 KB
  • 文档页数:63

VB数据库编程

页脚内容185 第9章 VB数据库编程技术

9.1数据库设计基础

9.1.1 VB中的数据访问

VB提供的数据库引擎叫Jet。VB提供了两种与Jet数据库引擎接口的方法:Data控件(Data Control)和数据访问对象(DAO)。Data控件只提供了有限的不需编程就能访问现存数据库的功能,而DAO模型则是全面控制数据库的完整编程接口。这两种方法不是互斥的,实际上,它们可以同时使用。

VB中的数据库编程就是创建数据访问对象,这些数据访问对象对应于被访问的物理数据库的不同部分,如Database(数据库)、Table(表)、Field(字段)和Index(索引)对象。用这些对象的属性和方法来实现对数据库的操作。VB通过DAO和Jet引擎可以识别三类数据库:

1. VB数据库:也称为本地数据库,这类数据库文件使用与Microsoft Access相同的格式。Jet引擎直接创建和操作这些数据库并且提供了最大程度的灵活性和速度。

2. 外部数据库:VB可以使用几种比较流行的“索引顺序访问文件方法(ISAM)”数据库,包括:dDase

III、dBase IV、FoxPro 2.0和2.5以及Paradox 3.x和4.x。在VB中可以创建和操作所有这些格式的数据库,也可以访问文本文件数据库和Excel或Lotus l-2-3电子表格文件。

3. ODBC数据库:包括符合ODBC标准的客户机/服务器数据库,如Microsoft SQL Server。如果要在VB中创建真正的客户机/服务器应用程序,可以使用ODBC Direct直接把命令传递给服务器处理。

VB数据库编程

页脚内容186 9.1.2 VB数据库体系结构

VB提供了基于Microsoft Jet数据库引擎的数据访问能力,Jet引擎负责处理存储、检索、更新数据的结构,并提供了功能强大的面向对象的DAO编程接口。

1. VB数据库应用程序的组成

VB数据库应用程序包含三部分,如图9.1所示。

图9.1 VB数据库应用程序的组成

数据库引擎位于程序和物理数据库文件之间。这把用户与正在访问的特定数据库隔离开来,实现“透明”访问。不管这个数据库是本地的VB数据库,还是所支持的其他任何格式的数据库,所使用的数据访问对象和编程技术都是相同的。

(1)用户界面和应用程序代码

用户界面是用户所看见的用于交互的界面,它包括显示数据并允许用户查看或更新数据的窗体。驱动这些窗体的是应用程序的VB代码,包括用来请求数据库服务的数据访问对象和方法,比如添加或删除记录,或执行查询等。

(2)Jet引擎 VB数据库编程

页脚内容187 Jet引擎被包含在一组动态链接库(DLL)文件中。在运行时,这些文件被链接到VB程序。它把应用程序的请求翻译成对.mdb(Access文件后缀)文件或其他数据库的物理操作。它真正读取、写入和修改数据库,并处理所有内部事务,如索引、锁定、安全性和引用完整性。它还包含一个查询处理器,接收并执行SQL查询,实现所需的数据操作。另外,它还包含一个结果处理器,用来管理查询所返回的结果。

(3)数据库

数据库是包含数据库表的一个或多个文件。对于本地VB或Access数据库来说,就是.mdb文件。对于ISAM数据库,它可能是包含.dbf(dBASE文件后缀)文件或其他扩展名的文件。或者,应用程序可能会访问保存在几个不同的数据库文件或格式中的数据。但无论在什么情况下,数据库本质上都是被动的,它包含数据但不对数据作任何操作。数据操作是数据库引擎的任务。

2.数据库应用程序的存放

数据库应用程序的这三个部分可以被分别放置在不同的位置上。可以把它们都放在一台计算机上,供单用户应用程序使用,也可以放置在通过网络连接起来的不同计算机上。例如,数据库可以驻留在中央服务器上,而用户界面(即应用程序)则驻留在几个客户机上,让许多用户访问相同的数据。

脱离开应用程序本身,将数据存放在另一台机器上的数据库应用程序,有远程数据库和客户机/服务器数据库两种结构。它们的不同点如图9.2所示。

客户机/服务器 远程

服务器

数据库

数据库引擎 VB数据库编程

页脚内容188

客户机

图9.2 客户机/服务器数据库与远程数据库的存放

在客户机/服务器系统中,数据库引擎和数据库一起被放置在服务器上。数据库引擎可以同时对多个客户机的应用程序提供服务、操作数据库并对每个本地应用程序返回所请求的记录。在远程系统中,数据库引擎与用户应用程序在相同的计算机上,只有数据库驻留在远程计算机上。

Jet数据库引擎不是客户机/服务器引擎,它是驻留在DLL文件中的本地数据库引擎,在运行时被动态地链接到VB应用程序中。如果程序在不同的工作站上有许多备份,那么每个备份都将有它自己的Jet数据库引擎在本地的备份。在VB中,通过连接到ODBC数据源,如Microsoft SQL Server等,可直接把查询传递给服务器数据库引擎,就可以创建客户机/服务器应用程序。

9.2本地数据库设计(ACCESS)

VB中创建数据库的途径主要有:

(1)可视化数据管理器:使用可视化数据管理器,不需要编程就可以创建Jet数据库。

(2)DAO:使用VB的DAO部件可以通过编程的方法创建数据库。

(3)Microsoft Access:因为Microsoft Access使用了与VB相同的数据库引擎和格式,所以,用Microsoft VB数据库编程

页脚内容189 Access创建的数据库和直接在VB中创建的数据库是一样的。

(4)数据库应用程序:像FoxPro、dBase或ODBC客户机/服务器应用程序这样的产品,可以作为外部数据库,VB可通过ISAM或ODBC驱动程序来访问这些数据库。

9.2.1可视化数据管理器

数据管理器(Data Manager)是VB的一个传统成员,它可以用于快速地建立数据库结构及数据库内容。VB的数据管理器实际上是一个独立的可单独运行的应用程序 Visdata.exe。它随安装过程放置在VB目录中,可以单独运行,也可以在VB开发环境中启动。凡是VB有关数据库的操作,比如数据库结构的建立、记录的添加及修改以及用ODBC连接到服务器端的数据库如SQL Server,都可以利用此工具来完成。

1.启动数据管理器

选择“外接程序”菜单下的“可视化数据管理器”项就可以启动数据管理器,打开“VisData”窗口。

2.工具栏按钮

VisData 窗口的工具栏提供了三组共9个按钮,为了说明这些按钮所提供的功能,我们利用VB提供的一个例子——数据库Biblio.mdb来介绍。

Biblio.mdb存放在VB98目录中,单击“文件”菜单中的“打开数据库”级联菜单的“Microsoft Access”项,即可在出现的对话框中看到Biblio.mdb,选中并打开它,打开后的VisData窗口如图9.3所示。

我们可以看到,在这个MDI窗口内包含两个子窗口:数据库窗口和SQL语句窗口。数据库窗口显示了数据库的结构,包括表名、列名、索引。SQL语句窗口可用于输入一些SQL命令,针对数据库中的表VB数据库编程

页脚内容190 进行查询操作。

图9.3 VisData窗口

下面我们对工具栏上的按钮进行简单的说明。

(1)类型群组按钮

工具栏的第一组按钮,它可以设置记录集的访问方式,具体为:

①表类型记录集按钮(最左边的按钮):当以这种方式打开数据库中的数据时,所进行的增、删、改、查等操作都是直接更新数据库中的数据。

②动态集类型记录集按钮(中间的按钮):使用这种方式是先将指定的数据打开并读入到内存中,当用户进行数据编辑操作时,不直接影响数据库中的数据。使用这种方式可以加快运行速度。

③快照类型记录集(最右边的拉钮):以这种类型显示的数据只能读不能修改,适用于只查询的情况。

(2)数据群组按钮 VB数据库编程

页脚内容191 工具栏的中间一组按钮。用于指定数据表中数据的显示方式。先用鼠标在要显示风格的按钮上单击一下,然后选中某个要显示数据的数据表,单击鼠标右键,在弹出的菜单上选择“打开”,则此表中的数据就以所要求的形式显示出来。

(3)事务方式群组按钮

工具栏的最后一组按钮用于进行事务处理。

9.2.2具体实现

1.建立数据库

对数据管理器的基本功能有了初步的认识后,我们看一下如何利用它来建立数据库。我们这里所建立的数据库student.mdb(学生数据库)中各表如下:

(1)建立数据库结构

单击“文件”菜单中的“新建”命令,在“新建”级联菜单中选择“Microsoft Access”,再选择“版本7.0

MDB”项,在“选择要创建的Microsoft Access数据库”窗口中选定新建数据库的路径并输入数据库名,这里为student.mdb。

这样一个新的数据库就建立好了,下面就要在此数据库中添加数据表了。 基本情况(学号,姓名,性别,专业,出生年月,VB数据库编程

页脚内容192 (2)添加数据表

将鼠标移到数据库窗口区域内,单击鼠标右键,在弹出的菜单中选择“新建表”命令,出现“表结构”对话框,利用对话框我们可以建立数据表的结构。

我们首先建立基本情况表。在“表名称”中输入“基本情况”,然后添加基本情况表的字段,单击“添加字段”按钮,出现“添加字段”对话框,在此对话框中填入“学号”字段的信息。

按顺序输入“姓名”、“性别”、“专业”、“出生年月”、“照片”、“备注”字段,然后按“关闭”按钮返回到“表结构”对话框中。

(3)建立索引

建立了表的结构后就可以建立此表的索引了,这样可以加快检索速度。单击“添加索引”按钮,会出现如图9.4所示的对话框,通过此对话框可以将数据表的某些字段设置为索引。在“名称”字段中输入索引的名称,然后从下边的“索引的字段”列表中选择作为索引的字段,我们这里选择的是“学号”。

图9.4 设置索引对话框