Visual Basic从初级的版本开始到现在的6.0版本,给与数据库的访问和操作以强有力的支持。特别是6.0版本在原有支持的Access、FoxPro和Dbase的基础上拓展了功能,对于目前最流行的Oracle和SQL Sever数据库以强有力的支持,与这两个大型数据库的接口更为方便。可以说,Visual Basic 中最吸引人的地方,同时也是人们最关心的地方,就是Visual Basic 的强大的数据库开发功能。
本章,我们主要就Visual Basic 6.0中经典的数据库开发技术作一介绍,通过学习让读者掌握Visual Basic中高级的数据库开发知识。
数据库应用程序分为三个部分:用户界面、数据库引擎和数据库。
用户界面包括一些应用程序代码,这部分是用来让用户访问数据库并与数据库交互的界面,显然该界面允许用户对于数据库进行查询、修改等操作。但是这些操作并不是用户界面直接向数据库进行交换,而是通过数据库引擎。
数据库引擎是用来对接用户界面要求的操作翻译成数据库能够理解的操作,而把数据库储存的资料介绍给用户界面。数据库是由包含多个文件和表的集合,该结合提供了一定顺序的大量资料。
下面介绍一下使用数据库常用的一些基本术语:
n 表
表是一种按行和列排列的相关信息的逻辑组,类似于工作表单。例如一张表可以包含一个学生的和多信息,姓名、年龄大小等等。
n 字段
数据库表中的每一列称作一个字段。表是由其包含的各种字段定义的,每个字段描述了它所包含的数据。创建一个数据库时,为每个字段分配一个数据类型、最大长度和其他属性。字段何以包含各种字符、数字甚至是图形。
n 记录
各个不同的学生的资料存放在表的行,被称之为记录。一般来说表在创建时,任意两行不能相同。
n 索引
为更快的访问数据库,大多数数据库都有索引。数据库表的索引是比表搜索更快的序列。
实质上,整个数据库的构造和使用即查询、修改是一个很大的工程。而且数据库的使用和类型很不一样,在这里只能做简单的介绍。
在本章中将重点放在应用程序界面上。不会对引擎和数据库做太多的介绍。
一般情况下,VB对于数据库的访问可有以下几种方式:
n 访问VB数据库
可以直接方便的访问VB数据库,该数据库主要是Access格式。
n 访问外部数据库
可以方便的访问ISAM数据库。不仅可以方便的访问DBase、FoxPro和Paradox数据库,还可以方便的使用索引顺序方法来方便的访问类Ascii文本文件的数据库;
n 访问ODBC数据库
可以以良好的接口性能实现对于远程大型数据库的访问,比如对于Oracle和SQL Sever远程数据库的访问和操作。
在设计过程中可以灵活的对以上几种方式的进行访问和操作。
在Visual Basic 6.0中的缺省工具箱上有一个数据控件——Data控件,同时TextBox控件和Label控件都是Data控件的束缚控件,在程序设计过程中,可以把这两个控件捆绑到Data控件上,这样,在程序运行的过程中,就可以利用TextBox控件和Label控件显示数据库中的数据。
下面就以一个示例程序来说明,如何在程序设计和运行的过程中,协调TextBox控件、Label控件和Data控件来显示数据库中的内容。具体的程序设计步骤如下所示:
首先,在Visual Basic 的集成开发环境中用鼠标选择“文件”菜单中“新建工程”选项,在屏幕上就会弹出一个如图7-1所示的“新建工程”对话框。

图7-1 新建工程对话框
在“新建工程”对话框中选择“标准EXE”选项,单击“确定”按钮,在Visual Basic 中就新建了一个标准的工程文件,同时打开了一个空白的窗体。
窗体的属性设置如下所示:
Begin Visual Basic.Form Form1
BorderStyle = 3
Caption = "数据库浏览程序:"
MaxButton = 0
MinButton = 0
Moveable = 0
ScaleHeight = 4590
ScaleWidth = 6885
ShowInTaskbar = 0
StartUpPosition = 2
End
经过以上属性设置后的窗体具有如下所示的特性:
n 程序运行过程中,窗体位于屏幕的中央,并且用户不能够移动窗体;
n 窗体的标题栏中显示文本“数据库浏览程序”;
n 窗体的标题栏中没有最大化和最小化按钮,只有关闭按钮;
n 在程序运行的过程,用户不能够改变窗体的大小。
在本示例程序中,由于要利用利用数据控件Data及其束缚控件(TextBox控件和Label控件)进行数据显示操作,所以在程序设计的过程中要向空白的窗体上添加一个Data控件、四个Label控件和四个TextBox控件,它们的作用在后面会加以叙述,添加数据显示控件后的窗体如图7-2所示。

图7-2 添加数据显示控件后的窗体
添加到窗体上的各个控件的属性设置如下所示:
Begin Visual Basic.TextBox Text4
DataField = "Address"
DataSource = "Data1"
Height = 495
Left = 2280
Top = 1800
Width = 3375
End
Begin Visual Basic.TextBox Text3
DataField = "Telephone"
DataSource = "Data1"
Height = 495
Left = 2280
Top = 2520
Width = 3375
End
Begin Visual Basic.TextBox Text2
DataField = "Company
Name"
DataSource = "Data1"
Height = 495
Left = 2280
Top = 1080
Width = 3375
End
Begin Visual Basic.TextBox Text1
DataField = "Name"
DataSource = "Data1"
Height = 495
Left = 2280
Top = 360
Width = 3375
End
Begin Visual Basic.Data Data1
Align = 2
Connect = "Access"
DatabaseName = "D:\MicrosoftVisualStudio\Visual Basic98\
Biblio.mdb"
ReadOnly = 0
RecordsetType = 1
RecordSource = "Publishers"
Visible = 0
End