第五章 客户端数据库应用程序设计.docx
- 文档编号:12027933
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:93
- 大小:1.34MB
第五章 客户端数据库应用程序设计.docx
《第五章 客户端数据库应用程序设计.docx》由会员分享,可在线阅读,更多相关《第五章 客户端数据库应用程序设计.docx(93页珍藏版)》请在冰豆网上搜索。
第五章客户端数据库应用程序设计
第五章客户端数据库应用程序设计
前几章讨论了数据库理论基础及数据库的结构设计问题,本章将讨论客户端数据库的应用程序设计。
一般来说,一个数据库应用系统具有如图5-1所示的结构。
图5-1数据库应用系统结构
从图5-1可以看出,数据库应用程序直接面向用户,它是用户和数据库之间的接口或界面。
因此,一个数据库应用程序,必须为用户提供一个易于对数据库进行操作的界面。
涉及这样的数据库应用程序有多种开发工具,VisualBasic语言就是其中一种。
VisualBasic语言具有简单易学的特点,它充分利用Windows提供的图形环境,具有强大的图形用户界面(GraphicUserInterface,简称为GUI)设计功能,为用户提供了一套全新的图形用户界面编程工具和环境。
同时,VisualBasic也提供了数据库操作功能。
因此,VisualBasic是理想的数据库应用程序设计语言。
本章主要介绍以下几个内容:
•VisualBasic程序设计概述
•VisualBasic程序设计基础知识
•VisualBasic程序设计的流程控制
•VisualBasic中窗体及主要控件的使用
•VisualBasic的数据库操作功能
第一节VisualBasic程序设计概述
一、VisualBasic简介
BASIC语言是二十世纪六十年代由美国Dartmouth学院的JohnKemeny和ThomosE.Kurty两位教授开发的计算机程序设计语言。
它是Beginner’sAll-purposeSymbolicInstructionCode的缩写,意为“初学者通用符号指令代码”。
从它的命名可以看出,这是一种简单易学的计算机语言。
BASIC是运行在DOS环境下的一种计算机程序设计语言。
随着Windows操作系统的出现,Microsoft公司推出了运行在Windows环境下的VisualBasic(以下简称VB)语言。
VB语言具有以下几个主要特点:
(1)简单易学。
VB继承了BASIC语言简单易学的特点,它是程序设计人员(尤其是非专业的程序设计人员)在Windows环境下开发应用软件的入门语言。
(2)具有强大的图形用户界面设计功能。
VB为设计图形用户界面提供了丰富的工具,利用这些工具,程序设计人员可以方便地设计出各种图形对象(如窗体、控件、菜单),形成一个良好的图形用户界面。
(3)采用事件驱动的编程机制。
所谓事件驱动是指程序根据用户或系统的动作产生反应,进而完成与之相应的功能。
也就是说,程序的执行是由用户的动作(即事件)决定的,而不是像过去的过程驱动那样由事先设计好的程序流程控制。
这样,程序设计人员只需针对各种用户动作(如单击窗体、命令按钮等)来编写相应的程序代码。
(4)提供了数据库操作功能。
利用ODBC(OpenDatabaseConnectivity)、ADO(ActiveXDataObject)等技术,VB可以对各种类型的数据库(如MicrosoftAccess、dBASE、MicrosoftFoxPro、Paradox、MicrosoftSQLServer等)进行操作。
VB自推出以来,其版本不断更新,目前广泛使用的是VB6.0。
VB6.0包括学习版、专业版和企业版,本章所介绍的内容基于VB6.0中文企业版。
二、VB程序的开发环境
1.启动VB
VB6.0为程序设计人员创建、修改、运行应用程序提供了一个集成开发环境。
要进入VB6.0的集成开发环境,首先要启动VB6.0。
VB6.0的启动与Windows的其它应用软件一样。
当VB6.0启动后,首先显示如图5-2所示的“新建工程”对话框。
在该对话框中有3个选项卡:
“新建”用于创建一个新的工程;“现存”用于选择并打开一个现有的工程;“最新”则用于选择并打开一个最近建立或使用过的工程。
在“新建”选项卡中包含若干图标,用于开发各类应用程序,本节仅介绍“标准EXE”一项。
双击“新建”选项卡中的“标准EXE”图标,进入图5-3所示的VB6.0的集成开发环境。
图5-2“新建工程”对话框
2.VB6.0的集成开发环境
在图5-3所示的VB6.0集成开发环境中,标题条、工具栏、菜单栏等几部分的含义和功能同其它Windows应用软件类似,具体内容大家可参考联机帮助,这里不再赘述。
下面对与其它Windows应用软件差别较大的几部分加以简单介绍。
图5-3VB6.0的集成开发环境
(1)工具箱:
它提供了若干用于创建应用程序的图形用户界面所需的控件。
标准工具箱(如图5-4所示)包含20个VB标准控件和一个指针图标。
此外,根据需要,VB6.0还允许用户利用“工程”→“部件”菜单添加ActiveX控件。
驱动器列表框(DriveListBox)
图5-4工具箱
(2)窗体窗口:
又称为窗体设计器,它是程序设计人员设计应用程序界面的载体,用于在上面设计各种控件。
程序运行时,窗体可用来输出结果,用户可通过窗体上的控件与程序交互。
一个应用程序至少有一个窗体,每个窗体都有自己唯一的名字。
(3)工程窗口:
又称工程资源管理器,它列出当前工程所包括的各类文件。
“工程”是VB应用程序的基本单位,一般一个工程代表一个应用程序,工程文件的扩展名为vbp,通常包括窗体文件(扩展名为frm)、标准模块文件(扩展名为bas)、类模块文件(扩展名为cls)等。
此外,在工程窗口中还包括“查看代码”、“查看对象”与“切换文件夹”三个按钮。
(4)属性窗口:
它列出了当前被激活的窗体或控件的所有属性。
左边为属性名,右边为属性值。
在设计阶段可通过该窗口为窗体或控件设置属性值。
(5)代码窗口:
用来显示与编辑程序代码。
打开代码窗口可通过单击工程窗口的“查看代码”按钮;或从“视图”菜单中选择“代码窗口”菜单项;或在窗体窗口中双击窗体或某个控件。
(6)立即窗口与监视窗口用来调试程序。
3.基本概念
(1)控件:
控件就是利用工具箱中的工具在窗体上设计的图形。
它作为用户与计算机之间的界面接收和显示各种信息。
如文本框、命令按钮、标签等。
(2)对象:
VB是一种面向对象的程序设计语言。
VB中的对象包括窗体、各种控件、打印机等。
它是程序可以控制的实体。
对象具有自己的属性、方法和事件,它们称为对象的三要素。
(3)属性:
属性即对象的特性。
不同的对象具有各自不同的属性,如标签具有名称(Name)、标题(Caption)、字体(FontName)等属性。
属性的取值称为属性值。
为对象的属性赋值有两种方法:
一是在设计状态下通过属性窗口进行设置;二是在程序代码中通过赋值语句进行设置,其格式为:
对象名.属性名=属性值。
(4)方法:
从用户角度来看,方法就是一个对象所执行的某些特定动作。
如输出、移动等。
事实上,方法是VB系统为程序设计人员提供的一种特殊过程或函数,供用户直接调用。
方法的调用格式为:
对象名.方法[参数]。
例如:
Form1.Print“Hello”语句的作用是调用窗体Form1的Print方法,在窗体Form1中显示字符串“Hello”。
(5)事件:
事件是由VB系统预先设置好的能被对象响应的特定动作。
系统为每一个事件规定一个名字,如单击鼠标(Click)、双击鼠标(DblClick)、按下某一个键(KeyPress)等。
当作用于某一对象上的事件被触发时,该对象就会对事件做出响应,去执行该对象所对应的事件过程。
事件过程是指与某个对象及作用于该对象上的事件有关的一段程序代码。
其格式如下:
Sub对象名_事件名([参数])
……(事件过程代码)
EndSub
三、VB程序设计的一般过程
设计一个VB应用程序一般包括以下几个过程:
(1)设计应用程序的用户界面。
设计应用程序的用户界面是指设计应用程序所需的窗体及窗体上的各种控件。
创建工程以后(进入VB集成开发环境后系统自动建立一个工程),VB系统自动提供一个窗体,程序设计人员可根据需要,通过“工程”→“添加窗体”菜单添加多个窗体,并利用工具箱在窗体上设计所需的控件。
在窗体上建立控件有两种方法,第一种方法是单击工具箱中相应的图标,然后将鼠标指针移到窗体上所需位置处,按住鼠标左键拖动鼠标直到所需大小后释放鼠标;第二种方法是双击工具箱中相应的图标,则在窗体中央建立一个默认大小的控件,然后再调整控件的大小与位置。
(2)修改对象的属性值。
每个对象创建以后,都有其默认的属性值,如果默认的属性值不能满足应用程序需要,则通过属性窗口来修改对象的属性值。
(3)编写程序代码。
编写程序代码是设计应用程序最重要的一步,因为应用程序的大部分功能都是通过执行程序代码来完成的。
编写程序代码要在代码窗口中进行,程序代码由VB的若干语句组成。
(4)运行与调试程序。
在程序设计过程中,可随时(比如设计好应用程序的用户界面并修改完对象的属性值后,编写完某个过程的程序代码后)通过运行程序来验证程序的正确性。
运行程序可单击工具栏的运行图标;或选择“运行”→“启动”菜单项,或按F5键。
如果运行过程中出现错误信息或运行结果不满足用户的需要,则需要对程序进行调试与修改。
(5)保存文件。
单击工具栏的存盘图标;或选择“文件”→“保存工程”菜单项,则按照类模块文件(若没有则跳过)→标准模块文件(若没有则跳过)→窗体文件→工程文件的顺序依次将应用程序保存到指定位置。
若下次再需打开该应用程序时,只需打开对应的工程文件即可,其它文件被自动加载。
(6)生成可执行文件。
为了使应用程序能脱离VB的集成环境而直接在Windows环境下运行,需将应用程序编译成可执行文件(扩展名为exe)。
生成可执行文件的方法是在VB的集成环境下对已打开的工程文件,选择“文件”→“生成***.exe”(其中***为已打开的工程文件名)菜单项,然后在“生成工程”对话框中输入可执行文件名即可。
生成的可执行文件虽然可以脱离VB的集成环境而直接在Windows环境下运行,但仍
需VB系统的一些文件(如dll、ocx等文件)支持才能运行。
第二节VB程序设计基础知识
一个VB程序由它的一套基本元素组成,这些基本元素包括常量、变量、函数、表达式、对象名称、属性、方法、关键字等,它们是程序设计的基础知识。
一、语言元素
1.字符集
VB中的字符集由英文字母(大小写各26个)、数字和专用字符组成。
基本上包括了ASCII码字符集中的所有字符。
2.标识符
标识符由字母、数字及下划线组成,且以字母打头。
VB标识符字母不分大小写。
VB中的标识符分成以下两类:
(1)保留字:
是指VB本身定义的、具有特殊含义的标识符。
包括关键字(如Sub、End)、函数(如Sqr、Asc)、方法(如Print)、属性(如Caption)名等。
(2)用户定义的标识符:
由用户按照标识符的规定为过程、对象、变量等的命名。
用户定义的标识符不能与保留字同名(这也正是保留字这一名称的主要来历)。
3.编码规则
与其它的程序设计语言一样,VB程序代码的书写也有一定的规则。
如VB代码中的字母不分大小写(但VB系统总是自动将关键字的第一个字母转换为大写,其余字母转换为小写);同一行上一般只写一个语句,如果写多个语句,语句之间用冒号“:
”号分隔;一个语句一般要在一行写完,如果要写在多行上,则要在行后添加续行符“_”(空格和下划线)。
二、数据类型
VB有标准数据类型与用户自定义数据类型两大类。
1.标准数据类型
标准数据类型是VB系统定义的数据类型。
表5-1列出了VB6.0支持的标准数据类型。
2.用户定义的数据类型
除了标准数据类型外,VB还允许用户自己定义新的数据类型。
用户定义的数据类型由标准数据类型组合而成。
其格式如下:
Type<自定义类型名>
<元素名>As<类型标识符>
<元素名>As<类型标识符>
……
<元素名>As<类型标识符>
EndType
其中类型标识符既可以是标准类型标识符,也可以是已定义过的用户定义的数据类型标识符。
如:
Typebdate
yAsInteger
mAsInteger
dAsInteger
EndType
Typeperson
nameAsString*8
ageAsInteger
birthdateAsbdate
EndType
上面例子中,定义了bdate与person两个用户定义的数据类型,其中bdate还用来定义person的元素birthdate的类型。
用户定义的数据类型必须在标准模块中定义,如果元素类型为字符串类型,必须是定长字符串(如前面自定义类型person的name元素)。
表5-1VB6.0支持的标准数据类型
数据类型
类型标识符
类型符
占存储空间
范围
字节型
Byte
无
1个字节
0~255
整型
Integer
%
2个字节
-32768~32767
长整型
Long
&
4个字节
-2,147,483,648~2,147,483,647
单精度型
Single
!
4个字节
绝对值1.401298×10-45~3.402823×1038
双精度型
Double
#
8个字节
绝对值4.9406564584124×10-324
~1.79769313486232×10308
货币型
Currency
@
8个字节
-922,337,203,685,477.5808
~922,337,203,685,477.5807
字符串型
String
$
1个字节/字符
0~65535个字符
日期型
Date
无
8字节
100年1月1日~9999年12月31日
逻辑型
Boolean
无
2字节
True,False
对象型
Object
无
4字节
任何对象引用
变体型
Variant
无
不定
注:
类型符放在数据的尾部,用于说明数据的类型。
如:
-38%说明-38为整型数据,125&说明125为长整型数据(即用4个字节存储,如果125的尾部不带&,则其默认为整型数据)。
三、常量与变量
1.常量
VB有两种类型的常量:
直接常量与符号常量。
(1)直接常量。
直接常量是指在VB程序中直接使用的量,包括字节型、整型、长整型、单精度型、双精度型、货币型、字符串型、日期型、逻辑型,分别与表5-1中的9种数据类型相对应。
对于日期型常量,要用一对“#”作为其定界符。
如2006年7月12日所对应的日期常量为:
#07/12/2006#(其中年、月、日的格式与Windows的设置一致)。
(2)符号常量。
符号常量是一种代替直接常量的标识符。
符号常量又分为两种:
系统提供的符号常量(简称系统常量)与用户自定义的符号常量。
系统提供的符号常量是系统预先设置好的程序中可直接引用的符号常量,如VbOkonly代表数字0(用于MsgBox函数中,表示只显示“确定”一个命令按钮)。
自定义的符号常量的定义格式如下:
Const<自定义符号常量标识符>=<表达式>
例如:
Constpi=3.1416,pp=2*3定义了两个符号常量pi与pp分别代表单精度数3.1416与整形数6。
2.变量
变量是在程序运行过程中其值可以改变的量。
使用变量前,一般都要对变量加以说明(尽管这不是VB系统要求必须做的)。
变量说明的格式如下:
Dim<变量名>As<类型标识符>
例如下面的语句说明了一个整型变量num,一个单精度变量sum和一个字符串变量str1。
DimnumAsInteger,sumAsSingle,str1AsString
除了用语句说明变量外,还可以用类型符说明变量,但只能说明具有类型符的几种类型的变量(见表5-1)。
例如:
age%说明变量age为整型变量,pi!
说明变量pi为单精度变量,addr$说明变量addr为字符串变量。
四、常用内部函数
内部函数是指驻留于VB系统内部的函数,用户使用时可直接调用。
VB的内部函数相当丰富,表5-2给出了一些常用的内部函数,全部内部函数请读者参阅VB的联机帮助。
表5-2常用内部函数
函数类型
函数格式
功能说明
应用举例
结果
数学函数
Abs(x)
求x的绝对值
Abs(-1.5)
1.5
Atn(x)
求x的反正切值,结果为弧度
Atn(0)
0
Cos(x)
求x的余弦值,x为弧度
Cos(0)
1
Exp(x)
求ex的值
Exp
(1)
2.71828182845905
Log(x)
求Lnx的值
Log(10)
2.30258509299405
Rnd(x)
产生随机数,圆括号与x可省略
Rnd
0~1之间的随机数
Sin(x)
求x的正弦值,x为弧度
Sin(3.1416/6)
0.500001060362603
Sgn(x)
符号函数
Sgn(5),Sgn(0),Sgn(-6)
1,0,-1
Sqr(x)
求x的平方根值,x≥0
Sqr(9)
3
Tan(x)
求x的正切值,x为弧度
Tan(3.1416/4)
1.00000367321185
字符串函数
Left$(s,n)
取字符串s的左边n个字符
Left$(“Visual”,3)
Vis
Len(s)
求字符串s的长度
Len(“VisualBasic”)
12
Mid$(s,n1,n2)
取字符串s的第n1个开始向右共n2个字符
Mid$(“VisualBasic”,8,5)
Basic
Right$(s,n)
取字符串s的右边n个字符
Right$(“Visual”,3)
ual
String$(n,c)
返回n个相同的字符
String$(5,“A”)
AAAAA
日期函数
Date$
返回系统当前日期
Date$
系统当前日期
Time$
返回系统当前时间
Time$
系统当前时间
Year(Date$)
返回日期的年份
Year(#2007-01-28#)
2007
Month(Date$)
返回日期的月份
Month(#2007-01-28#)
1
Day(Date$)
返回日期的日
Day(#2007-01-28#)
28
转换函数
Asc(c)
字符转换成ASCII
Asc(“B”)
66
Chr$(n)
ASCII转换成字符
Chr(68)
D
Cint(x)
四舍五入取整
Cint(3.6)
4
Fix(x)
取整
Fix(3.6)
3
Int(x)
取小于或等于x的最大整数
Int(3.6),Int(-3.6)
3,-4
Hex(n)
十进制转换成十六进制
Hex(26)
1A
Oct(n)
十进制转换成八进制
Oct(26)
32
Str$(x)
数值转换成数字字符串
Str$(3.5)+Str$(-2.4)
3.5-2.4
Val(s)
数字字符串转换成数值
Val(“3.5”)+Val(“-2.4”)
1.1
Lcase$(s)
字符串中的字母转换成小写
Lcase$(“Basic”)
basic
Ucase$(s)
字符串中的字母转换成大写
Ucase$(“Visual”)
VISUAL
五、运算符与表达式
运算符就是进行某种操作的符号。
表达式是一组常量、变量、运算符、函数和圆括号组成的混合运算式。
VB的表达式有算术表达式、字符串表达式、关系表达式与逻辑表达式。
1.算术表达式
算术表达式由数值型常量、变量、函数、算术运算符及圆括号组合而成。
算术运算符见表5-3。
表5-3算术运算符及算术表达式举例
运算符
功能说明
优先级
算术表达式举例
结果
^
乘方
1
16/2^3
2
-
负号
2
-5^2
-25
*
乘
3
(-5)^2
25
/
除
3
6\6/2
2
\
整除
4
6Mod6\4
0
Mod
取余数
5
3+2*3^2
21
+
加
6
3.5-2.6/2
2.2
-
减
6
(-5+sqr(5*5-4*2*3))/(2*2)
-1
2.字符串表达式
字符串表达式由字符串常量、变量、函数和字符串运算符组合而成。
字符串仅有“+”与“&”两个运算符,用来连接两个字符串。
“+”运算符所连接的两边的操作数均为字符串型;“&”运算符所连接的两边的操作数既可以是字符串型,也可以是数值型,若为数值型,则先将数值型操作数转换成字符串型,然后再连接。
3.关系表达式
关系表达式由关系运算符将算术表达式或字符串表达式组合而成。
关系表达式的结果为逻辑型数据(即True或False)。
关系运算符包括:
=(等于)、<(小于)、>(大于)、<=(小于或等于)、>=(大于或等于)、<>(不等于)。
如果比较的两个数据的类型为数值型时,按其大小比较;为字符串型时,按其ASCII码值从第一个字符开始,如果比较出大小,则ASCII码值大的字符串大,如果相等,则比较第二个字符,直至比较出大小或完全相等。
例,3+2>5结果为False,“xy”>“abc”结果为True,“100”>“6”结果为False。
4.逻辑表达式
逻辑表达式由逻辑运算符将关系表达式组合而成。
逻辑表达式的结果为逻辑型数据。
常用的逻辑运算符见表5-4。
表5-4逻辑运算符及逻辑表达式举例(表中T表示True,F表示False)
运算符
功能
优先级
说明
应用举例
结果
Not
取反
1
只有右边一个操作数
Not(10>5)
F
And
与
2
当两个操作数均为T时结果才为T
10>9And15>15
F
Or
或
3
只要一个操作数为T结果就为T
10>9Or15>15
T
Xor
异或
3
当两个操作数不同时结果为T
10>9XOr15>15
T
说明:
在逻辑表达式中,既有算术运算符,又有关系运算符和逻辑运算符时,它们的优先次序是:
算术运算符→关系运算符→逻辑运算符。
第三节VB程序设计的流程控制
VB程序设计的一项重要内容就是编写程序代码,而编写程序代码就是用VB的语句对程序的流程进行控制。
与其它结构化程序设计一样,VB程序的流程也有三种基本的结构:
顺序结构、选择结构与循环结构。
一、顺序结构
顺序结构是最简单的一种结构,顺序结构中的各语句按顺序依次执行。
组成顺序结构的语句主要有赋值语句与输入、输出语句。
1.赋值语句
VB的赋值语句主要有两种形式:
(1)给内存变量赋值。
其格式如下:
[Let]<变量名>=<表达式>
Let是可选项,一般情况下都省略该关键字。
“=”为赋值号,其作用是将右端表达式的值赋给左边的变量。
例如,假设a为整型变量,则赋值语句a=5+6的作用是将5+6的值11赋给左边的变量a。
(2)<对象名>.<属性名>=<属性值>
其作用是给对象的属性设置属性值。
例如赋值语句Text1.Text=“Howareyou?
”的作用是给文本框Text1中的Text属性设置属性值“Howareyou?
”。
给对象的属性设置属性值的详细介绍见第四节。
2.数据的输入
在这里,数据的输入主要指在程序执行过程中通过交互方式为变量提供数据。
在VB中,除通过控件(如文本框、单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五章 客户端数据库应用程序设计 第五 客户端 数据库 应用 程序设计