您好,欢迎来到爱站旅游。
搜索
您的当前位置:首页精品课《Visual-FoxPro-程序设计》实验指导vfp6.0(使用)

精品课《Visual-FoxPro-程序设计》实验指导vfp6.0(使用)

来源:爱站旅游
《Visual FoxPro 程序设计》实验教学指导

适用时间:学年

适用范围: 总学时:

一、教学目的:

《Visual Foxpro 程序设计》是当今最流行的微机数据库管理系统。通过学习该课程,学生能够掌握计算机程序设计的基本知识、基本方法与编程技巧,具备应用计算机解决和处理实际问题的能力。

对实验教学来说,教学的主要任务是从应用和实践的角度出发,使学生通过上机操作掌握本课程所讲述的程序设计思想,掌握Visual Foxpro程序设计的基本方法与编程技巧,并能运用Visual Foxpro进行数据处理。

二、教学要求

1.熟悉Visual Foxpro 6.0开发环境; 2.掌握数据库的基本概念;

3.掌握数据表的基本操作和多表操作方法;

4.掌握查询与视图的概念及建立查询与视图的方法;

5.掌握面向对象的程序设计方法,并使用它分析和解决实际问题; 6.能够设计出不同类型的实用表单; 7.掌握报表和菜单的设计方法。

三、实验项目:

1

实验一 VFP 6.0 的基本操作

(一)实验目的要求

1. 了解Visual Foxpro 6.0运行所需的软件和硬件环境。 2. 掌握Visual Foxpro 6.0

3. 掌握Visual Foxpro 6.0主窗口各组成部分的使用方法。 4. 掌握Visual Foxpro 6.0系统环境配置方法。 (二)实验内容

1. Visual Foxpro 6.0的启动。 2. Visual Foxpro 6.0的退出。

3. 在Visual Foxpro 6.0主窗口中,熟悉标题栏、菜单栏、工具栏、命令窗口、状态栏的使用方法。 4. Visual Foxpro 6.0系统环境配置:

了解“选项”对话框各个选项卡的功能。 设置用户默认工作目录。 设置日期和时间的格式。

(三)实验指导

实验1-1.从“开始”菜单启动Visual FoxPro 6.0 操作步骤如下:

(1)单击“开始”按钮,打开“程序” 菜单; (2)选择“Microsoft Visual FoxPro 6.0”命令;

(3)启动“Microsoft Visual FoxPro 6.0”系统程序。“Microsoft Visual FoxPro 6.0” 系统程序启动后如图1-1所示。

图1-1

实验1-2.从资源管理器中启动Visual FoxPro 6.0 操作步骤如下:

(1)利用资源管理器找到\\Microsoft Visual FoxPro 6目录,在VFP6图标上双击左键,完成Visual FoxPro系统的启动。

(2) “Microsoft Visual FoxPro 6.0” 系统程序启动后如图1-1所示。

2

实验1-3.从“运行”对话框中启动Visual FoxPro 6.0 操作步骤如下:

(1) 打开“开始”菜单,选择“运行”选项,进入“运行”窗口; (2) 在对话框中输入\\VFP6.EXE,再按“确定”按钮。

(3) “Microsoft Visual FoxPro 6.0” 系统程序启动后如图1-1所示。 实验1-4. Visual FoxPro 6.0 系统的退出

退出 Visual FoxPro 6.0 系统,可以使用以下几种方法:

(1) 在 Microsoft Visual FoxPro 主菜单中,打开“文件”菜单,选择“退出”命令; (2) 按Alt+F4组合键;

(3) 按Ctrl+Alt+Del组合键,进入“关闭程序”窗口,按“结束任务”按钮; (4) 在 Microsoft Visual FoxPro 的系统环境窗口,单击其右上角的关闭按钮; (5) 在“命令”窗口,输入Quit命令,并按回车键。

实验1-5 Visual FoxPro 6.0工具栏的激活方法。 操作步骤如下:

(1) 在Visual FoxPro系统窗口中,打开“显示”菜单,选择“工具栏”命令,打开“工具栏”对话框,如图1-2所示。

图1-2

(2) 在“工具栏”对话框中,选定要激活的“工具栏”,如“常用”,然后单击“确定”按钮,便可激活“常用工具栏”。

在Visual FoxPro 6.0中,菜单栏、工具栏、状态栏的使用方法和其它Windows应用程序的使用方法基本类似。

实验1-6设置用户默认工作目录为“c:\\vfp” 操作步骤如下:

(1) 在VFP的菜单中选“工具”选“选项”选“文件位置”选项卡选“默认目录”; (2) 单击“修改”按钮在弹出的“更改文件位置”对话框中输入用户的默认工作目录c:\\vfp; (3) 单击“确定”按钮单击“设置为默认值”按钮单击“确认”按钮。如图1-3所示。

3

图1-3

设置用户默认工作目录也可以通过命令窗口实现。在命令窗口中输入命令Set Default to c:\\vfp,如图1-4所示,可以将默认工作目录设置成c:\\vfp。

图1-4

实验1-7 设置日期和时间格式 操作步骤如下:

(1) 在VFP的菜单中选“工具”选“选项”;

(2) 选“区域”选项卡在“时间和日期”区定义日期格式、日期分隔符、年份格式、时间格式; (3) 单击“设置为默认值”按钮单击“确认”按钮。

如图1-5所示,在“选项”窗口,有14种不同类别的选项卡,每一个选项卡有其特定的环境,又有相应的设置信息的对话窗口,用户可以根据操作的需要,利用“选项”窗口中的各种选项卡,确定或修改设置每一个参数,从而确定 Visual FoxPro 的系统环境。

4

图1-5

5

实验二 常量、变量、函数和表达式

(一) 实验目的要求

1. 掌握常量的类型及表示方式。 2. 掌握变量的定义、赋值和显示。 3. 掌握各种表达式的使用。

4. 掌握VFP各种常用函数的功能、格式和使用。 (二)实验内容

1. 在命令窗口中用STORE命令为变量赋值。 2. 用“=”命令为变量赋值。 3. 用“?”命令显示变量的值。

4. 练习各种常量的表示方法及其输入输出方法。 5.练习各种运算符的使用方法。

6.在命令窗口中用“?”命令输出数值处理函数、字符处理函数、日期时间函数、转换函数等Visual FoxPro常用函数的值。

(三)实验指导

实验2-1设:NAM=“李平”,SEX=“女”,OLD=26,DEPT=“计算机系”,DATE={^1976/09/21} 用“?”命令输出算术表达式60- OLD的值。

用“?”命令输出字符表达式“学生:”+ NAM +“ ”+ DEPT的值。

用“?”命令输出日期表达式DATE()- DATE的值(自出生后的天数)。 用“?”命令输出关系表达式DATE<-{^1980/12/31}的值(判断是否为1980年以前出生)。 用“?”命令输出逻辑表达式OLD >20 AND SEX<>“女”的值。 操作步骤如下:

(1)在命令窗口中分别输入以下命令: NAM=“李平” SEX=“女” OLD=26

DEPT=“计算机系” DATE={^1976/09/21}

(2)在命令窗口分别输入以下语句会输出相应结果: ?60-OLD

?“学生”+NAM+“ ”+DEPT ?DATE()-DATE

?DATA<={^1980/12/31} ?OLD>20 AND SEX<>“女”

实验2-2在命令窗口中用STORE命令为变量赋A、B、C赋相同的值,用“=”命令为变量E、F、G、H分别赋值“李平”、“女”、20和当前日期,用“?”命令显示上述变量的值。

操作步骤如下:

(1)在命令窗口中用STORE命令为变量A、B、C赋相同的值。 命令如下:STORE 10 TO A,B,C 各内存变量须用逗号分隔。

(2)用“=”命令为变量E、F、G、H分别赋值“李平”、“女”、20和当前日期。 E=“李平” F=“女” G=20 H=DATE()

6

(3) 用“?”命令显示上述变量的值。 ?A,B,C,E,F,G,H

实验2-3把算术运算、字符运算、日期运算、日期时间运算、关系运算、逻辑运算等各种运算逐一在命令窗口中实验。

特别注意:

运算符“-”可以作算术减法,字符连接运算、日期时间运算等多种用法。注意区别3+8-6、”8 ”-“6”、{^1998/10/15}-{^1998/10/10}、{^1998/10/10 9:18:40}-{^1998/10/10 9:15:20}的结果。

实验2-4把数值常用函数、字符常用函数、日期时间常用函数、数据转换常用函数等各种运算函数逐一在命令窗口中实验。

1.常用数值函数

(1)指数函数EXP(x)举例 如:在命令窗口中输入:

? exp(5)

则在工作区窗口会显示

148.41 ——数值型数据(e5的值) (2)对数函数LOG(x) 如:在命令窗口中输入:

? log(15) 则在工作区窗口会显示

2.71 ——数值型数据(loge(15)的值) 又如:在命令窗口中输入:

? log(2.71828) 则在工作区窗口会显示

1.00000 ——数值型数据(loge(2.71828)的值) (3)最大值函数MAX(x1,x2,x3) 如:在命令窗口中输入:

? max(12,36,67,-38) 则在工作区窗口会显示

67 ——4个数中的最大值 (4)最小值函数MIN(x1,x2,x3) 如:在命令窗口中输入:

? min(12,36,67,-38) 则在工作区窗口会显示

-38 ——4个数中的最小值 (5)取余数函数MOD(x1,x2) 如:在命令窗口中输入:

? mod(18,5) 则在工作区窗口会显示

3 ——18被5除后的余数 (6)取小数位数函数ROUND(x, n)

7

如:在命令窗口中输入:

? round(12345.67,3)

则在工作区窗口会显示

12345.679 ——保留3位小数 (7)开平方函数SQRT(x) 如:在命令窗口中输入:

? sqrt(144) 则在工作区窗口会显示

12.00 ——144的算术平方根 又如:在命令窗口中输入:

? sqrt(187)

则在工作区窗口会显示

13.67 ——187的算术平方根 2.常用字符函数

(1)删除首尾空格函数ALLTRIM(<字符表达式>) 如:在命令窗口中输入:

? alltrim(\" 计算机软件 \") 则在工作区窗口会显示

计算机软件 ——删除首尾空格

(2)删除前导空格函数LTRIM(<字符表达式>) 如:在命令窗口中输入:

? ltrim(\" 计算机软件 \") 则在工作区窗口会显示

计算机软件 ——删除前导空格

(3)删除尾部空格函数RTRIM(<字符表达式>) 或 TRIM(<字符表达式>) 如:在命令窗口中输入:

? rtrim(\" 计算机软件 \") 则在工作区窗口会显示

计算机软件 ——删除尾部空格

(4)左取子串函数LEFT(<字符表达式>,<数值表达式>) 如:在命令窗口中输入:

? left(\"计算机软件\则在工作区窗口会显示

计算机 ——取前6个字符

(5)右取子串函数RIGHT(<字符表达式>,<数值表达式>) 如:在命令窗口中输入:

? right(\"计算机软件\则在工作区窗口会显示

软件 ——取后4个字符

(6)任意取子串函数SUBSTR(<字符表达式>,<数值表达式1>,<数值表达式2>) 如:在命令窗口中输入:

? substr(\"计算机软件\则在工作区窗口会显示

8

机软 ——从第5个字符开始,取4个字符 (7)产生空串函数SPACE(<数值表达式>) 如:在命令窗口中输入:

? space(8)

则在工作区窗口会显示

——产生8个空格字符,但在工作区上看不见 又如:在命令窗口中输入:

? left(\"计算机软件\计算机软件\则在工作区窗口会显示

计算机 软件 ——中间有8个空格字符 (8)英文大小写转换函数LOWER (<字符表达式>)

UPPER (<字符表达式>)

如:在命令窗口中输入:

? lower(\"ABCDEFG\") 则在工作区窗口会显示

abcdefg ——大写转小写,即全部转换为小写 又如:在命令窗口中输入:

? upper(\"abCdefG\") 则在工作区窗口会显示

ABCDEFG ——小写转大写,即全部转换为大写 (9)求长度函数LEN(<字符表达式>) 如:在命令窗口中输入:

? len(\"abCdefG\") 则在工作区窗口会显示

7 ——求长度 3.常用转换函数

(1)字符转日期函数CTOD(<字符表达式>) 如:在命令窗口中输入: ? ctod(\"1999-08-09\")

则在工作区窗口会显示

1999/08/09 ——日期型数据

(2)日期转字符函数DTOC (<日期表达式>) 如:在命令窗口中输入:

? dtoc({^1999-08-09}) 则在工作区窗口会显示

1999/08/09 ——字符型数据

(3)日期时间转字符函数TTOC (<日期时间表达式>) 如:在命令窗口中输入:

? ttoc({^1999-08-09 12:35:38}) 则在工作区窗口会显示

1999/08/09 12:35:38 PM ——字符型数据

(4)日期时间转日期函数TTOD (<日期时间表达式>) 如:在命令窗口中输入:

? ttod({^1999-08-09 12:35:38})

9

则在工作区窗口会显示

1999/08/09 ——日期型数据

(5)字符转数值函数VAL(<字符表达式>) 如:在命令窗口中输入:

? val(\"123.45\") 则在工作区窗口会显示

123.45 ——数值型数据 又如:在命令窗口中输入:

? val(\"asd123.45\")

则在工作区窗口会显示

0.00 ——数值型数据 (6)数值转字符函数

STR(<数值表达式1>, [<数值表达式2>,<数值表达式3>]) 如:在命令窗口中输入:

? str(12345.67,10,4) 则在工作区窗口会显示

12345.67 ——字符型数据 又如:在命令窗口中输入:

? str(12345.67,7,4) 则在工作区窗口会显示

12345.7 ——字符型数据 又如:在命令窗口中输入:

? str(12345.67,12,2) 则在工作区窗口会显示

12345.68 ——字符型数据

4.日期时间函数

(1)系统日期函数DATE() 如:在命令窗口中输入:

? date ()

则在工作区窗口会显示

09/08/05 ——日期型数据 (2)当前系统时间函数TIME() 如:在命令窗口中输入:

? time () 则在工作区窗口会显示

09:15:32 ——字符型数据 (3)日期时间函数DATETIME() 如:在命令窗口中输入:

? datetime()

则在工作区窗口会显示

09/08/05 09:18:32 AM ——日期时间型数据

(4)取年份函数YEAR(<日期时间表达式>|<日期表达式>)如:在命令窗口中输入:

? year(datetime())

10

则在工作区窗口会显示

2005 ——数值型数据

(4)取月份函数MONTH(<日期时间表达式>|<日期表达式>) 如:在命令窗口中输入:

? month(datetime()) 则在工作区窗口会显示

9 ——数值型数据

(5)取星期函数WEEK(<日期时间表达式>|<日期表达式>) 如:在命令窗口中输入:

? week(datetime()) 则在工作区窗口会显示

37 ——数值型数据

(6)取分钟函数MINUTE(<日期时间表达式>) 如:在命令窗口中输入:

? minute(datetime()) 则在工作区窗口会显示

28

实验2-5 利用宏替换方式输出姓名变量的值 操作过程如下:

(1)在命令窗口中依次输入如下命令: 姓名=\"李明华\"

store \"姓名\" to name ? &name (2)输出结果: 李明华

11

实验三 表操作

(一)实验目的要求

1.掌握利用表设计器建立数据表的方法。 2.掌握利用表向导建立数据表的方法。

3.掌握利用命令create table建立数据表的方法。 4.熟练掌握数据表日常维护的基本操作方法。 (二)实验内容

1.利用表设计器建立数据表 2.利用表向导建立数据表

3. 利用命令create table建立数据表 4. 修改数据表结构

5.数据表记录的显示和修改。 6.数据表记录的追加。 7.数据表记录的定位。

8.数据表记录的删除与恢复。 (三)实验指导

实验3-1依照表3-1的内容,利用表设计器定义表结构,并创建一个“业主”表。

表3-1 “业主”表文件的结构 字段名 字段类型 字段宽度 小数点位数 索引否 房号 字符型 7 —— 候选索引 姓名 字符型 8 —— 普通索引 性别 字符型 2 —— —— 职业 字符型 10 —— —— 单位 字符型 20 —— —— 联系电话 字符型 13 —— 候选索引 备注 备注型 4 —— —— 操作过程如下:

(1)从Visual FoxPro系统主菜单中选择“文件”菜单中的“新建” 命令(或者单击常用工具栏中的“新建”按钮),进入“新建”窗口,如图3-1所示。

12

图3-1

(2)在“新建”窗口中选择单选按钮“表”,再单击“新建文件”按钮,进入“创建”窗口,如图3-2所示。

图3-2

(3)在“创建”窗口,输入要建立标的名字“业主”,然后单击“保存”按钮,进入“表设计器”窗口,如图3-3所示。

13

图3-3

(4)在“表设计器”窗口,根据需要注意定义表中所有字段的名字、类型、宽度和是否建立索引,,如图3-4所示。

图3-4

(5)当表中所有字段的属性定义完毕,单击“确定”按钮,进入“Microsoft Visual FoxPro”系统提

示窗口,如图3-5所示。

图3-5

14

(6)在“Microsoft Visual FoxPro”系统提示窗口,如果单击“是”按钮,可以以立即方式向表输入数据;如果单击“否”按钮,将结束表结构的建立。

实验3-2设计一个“入住房屋登记表”的一张二维表,再根据其内容设计“入住房屋登记表”的表结构,然后利用命令创建“房屋表”

操作过程如下:

(1)设计“入住房屋登记表”二维表。

(2)根据“入住房屋登记表”二维表的内容)设计“入住房屋登记表”的表结构,如表3-2所示。

表3-2房屋表文件的结构 字段名 字段类型 字段宽度 小数点位数 索引否 房号 字符型 7 —— 候选索引 入住时间 日期型 8 —— 普通索引 结构 通用型 4 —— —— 备注 备注型 4 —— ——

(3)创建“房屋表”,在命令窗口执行以下命令:

create table 房屋 (房号 c(7),入住时间 data,结构 general,备注 memo),如图3-6所示。

图3-6

(4)打开“表设计器” 窗口,显示“房屋”表结构,如图3-7所示。

图3-7

实验3-3把“业主”表作为“样本”表,创建一个新的数据表“员工”。 表3-3所示内容是“员工”表的结构

表3-3员工表的结构 字段名 字段类型 字段宽度 小数点位数 索引否 编号 字符型 3 —— 候选索引 姓名 字符型 8 —— 普通索引 性别 字符型 2 —— —— 15

所属部门 字符型 10 —— —— 备注 备注型 4 —— —— 操作过程如下:

(1)在Visual FoxPro系统主菜单中选择“文件”—”新建”命令,进入“新建”窗口。

(2)在“新建”窗口中选择单选按钮“表”,再单击“向导”按钮,进入“表向导”的步骤一窗口。如图3-8所示。

图3-8

(3)在“表向导”的步骤一窗口,在“样表”列表框中选择可作为“样本”的表;如果没有可作为样本的表,可单击“加入”按钮,弹出“打开”窗口。在这一窗口,输入可作为“样本”表名“业主”,单击“确定”按钮,将其添加到“样本”框中,选中它作为“样本”。 如图3-9所示。

图3-9

(4)在“样表”对话框中,选择作为“样表”的表“业主”,这时在“可用字段”列表框中将显示出该表中的全部字段名,用户便可选择所需的字段。

(5) 选择是否加入数据库

在该窗口中,如图3-10所示,选择“创建的自由表” 单选按钮(如果建立数据库表,则选择“将表添加到下列数据库” 单选按钮,然后在下面的数据库下拉列表框中选择一个需要的数据库),然后单击“下一步”按钮,进入表向导的“步骤2-修改字段设置” 窗口。

16

图3-10

(6) 修改字段

这一步可以对选定的字段进行需要的修改。可修改的内容有字段名、字段类型、字段宽度、字段是否为NULL以及小数位数。这里,仅需要把“进价”字段改成“单价”即可,然后单击“下一步”按钮,进入表向导的“步骤3-为表建索引” 窗口。

(7)如果想建立所需的索引文件,先要选择索引文件的索引字段;

(8)“保存表以备将来使用”:只保存表;“保存表,然后浏览该表”:保存表,并进入表浏览窗口;“保存表,然后在表设计器中修改该表”:保存表,并进入表设计器窗口。

实验3-4在表“员工”中插入一个新的字段“年龄”。 操作过程如下:

(1)在Visual FoxPro系统主菜单中选择“文件”—”打开”命令,进入“打开”窗口。

(2)在“打开”窗口中输入要修改结构的表名“员工”,单击“确定”按钮返回Visual FoxPro系统主菜单。

(3)在Visual FoxPro系统主菜单中选择“显示”—“表设计器”命令,进入“表设计器”窗口。如图3-11所示。

图3-11

(4)在“表设计器”窗口,要插入新字段,先把光标移到要插入新字段的位置,然后单击“插入”

17

按钮。此时,在光标所在处增加一个新字段,可以对新字段进行属性定义。如图3-12所示。

图3-12

(5)根据需求定义新字段的属性,如图3-13所示。

图3-13

(6)表结构修改好以后,单击“确定”按钮,进入Microsoft Visual FoxPro”系统提示窗口。如图3-14所示。

图3-14

(7)在“Microsoft Visual FoxPro”系统提示窗口,单击“是”按钮,以确认修改后的表结构。 实验3-5通过菜单用“浏览器“窗口浏览“业主”表。 操作过程如下: ①打开 “业主”表。

②单击“显示”菜单,选择“浏览” 命令,进入“浏览器” 窗口,如图3-15所示。

18

图3-15

③在“浏览器“窗口可以直接修改数据表的任意字段值。

在命令方式下,使用Browse 或 display命令显示记录;使用replace命令修改记录。实验3-6 将“业主”表中D区5号楼的业主房号、姓名、单位显示出来。 操作过程如下:

①在命令窗口中依次执行以下命令: Use 业主

Locate all for substr(房号,1,2)=”D5” Display fields房号,姓名,单位 Continue

Display fields房号,姓名,单位 ② 显示结果如图3-16所示。

图3-16

实验3-7以“编辑”格式,将内容输入到“业主”表中。 操作过程如下:

①在命令窗口中依次执行以下命令: Use 业主 Append

② 显示结果如图3-17所示。

19

图3-17

实验3-8在业主表中将当前记录定位在“房号”是“b302101”的记录上。 ⑴打开业主表,显示业主表“浏览”窗口。如图3-18所示

图3-18

⑵选择“表”→“转到记录”定位命令,弹出“转到记录”子菜单。在“转到记录”子菜单中选择“定位”选项,系统将弹出“定位记录”对话框。如图3-19所示

图3-19

20

⑶在作用范围下拉列表框中选择“All”,在“For”文本框中输入条件表达式房号=“b302101”,单击“定位”按钮,记录指针将指向满足条件的第一个记录,如图3-20所示.

图3-20

实验3-9将物业费表中“房号”是“A101101”的全部记录进行逻辑删除,彻底删除02年12月31号及其以前的记录,恢复02年12月31号以后的记录为正常记录。

具体操作步骤如下:

① 打开Accoun表,打开“浏览器”窗口,如图3-21所示。

图3-21

对应vfp命令: Use Account Browse

21

②选择“表”→“删除记录”,进入“删除” 窗口。

③在“删除” 窗口,如图3-22所示,单击“作用范围”列表框中的下拉箭头,选择“All”,在“For”文本框中输入条件表达式房号=“A101101”。

图3-22

对应命令:

Delete All For房号=“A101101”

④单击“删除”按钮,回到浏览窗口,物业费表中“房号”是“A101101”的全部记录都打上了删除标记,如图3-23所示。

图3-23

⑤在“浏览器”窗口中选择“表”→“恢复记录”命令,打开“恢复记录”窗口,在“恢复记录”窗口的 “作用范围” 下拉列表框中选择“All”,在“For”文本框中输入条件表达式交费时间>{^2002-12-31},如图所示,再单击“恢复记录”按钮,表中02年12月31号以后记录的删除标记被除去。如图3-24,图3-25所示。

22

图3-24

图3-25

对应命令:

Recall All For交费时间>{^2002-12-31}

⑥在“浏览器”窗口,选择“表”→“彻底删除”命令,打开“Microsoft Visual FoxPro”系统提示窗口.

⑦在“Microsoft Visual FoxPro”系统提示窗口,单击“是”按钮,表中02年12月31号以前的记录被彻底删除,再重新打开表“浏览器”窗口,如图3-26所示。

对应命令: Pack Browse

23

图3-26

24

实验四 数据库和数据表的操作

(一)实验目的要求

1.掌握建立数据库的三种方法(数据库设计器、create database命令、项目管理器)。 2.掌握创建索引文件的两种方法(利用表设计器、利用index on命令)。 3.掌握索引文件的使用方法。

4.掌握索引查询命令(seek、find)的使用方法。 5.掌握建立数据库表间关联的方法。 6.掌握数据库表的某些特殊操作方法。 (二)实验内容

1.建立数据库。 2.建立索引文件。 3.使用索引文件。 4.使用索引查询命令。 4.建立数据库表间关联。 5.设置数据库表的特殊操作。 (三)实验指导

实验4-1利用“项目管理器”创建一个空数据库文件,定义数据库的文件名为“物业费管理”。 操作步骤如下:

⑴从Visual FoxPro系统主菜单“文件”菜单中,选择“打开”,或者在工具栏上单击“打开”图标按钮,弹出“打开”窗口,如图4-1所示。

图4-1

⑵从中选择要打开的项目,单击“确定” 按钮,即可打开项目。如图4-2所示。

25

图4-2

⑶在“全部”或“数据”选项卡中选择“数据库”选项,然后单击“新建”按钮,弹出“创建”对话框。如图4-3所示。

图4-3

⑷在“创建”对话框中,选定数据库存放的位置和数据库名,完毕后单击“保存”按钮。如图4-4所示。

图4-4

(5)关闭数据库设计器窗口。

26

实验4-2 向“物业费管理”数据库添加表“业主”、“员工”、“房屋”和“物业费” 操作步骤如下:

⑴打开“物业费管理”数据库,进入数据库设计器窗口。

⑵在数据库设计器窗口中右击鼠标,弹出“数据库”快捷菜单,如图4-5所示。选择“添加表”命令,进入“打开”窗口,如图4-6所示。

图4-5 图4-6

⑶在“打开” 窗口,选择表名“业主”,单击“确定”按钮,则 “业主” 表被添加到数据库中,同时返回到数据库设计器窗口。

⑷重复⑵、⑶步的操作,将“员工”、“房屋”和“物业费”表也添加到数据库“物业费管理”中,如图4-7所示。

图4-7

(5)使用Add命令也可以使用下列一组命令来完成:

modi Proj 物业费管理项目 Crea Data 物业费管理 Add Table 业主

27

Add Table员工 Add Table房屋 Add Table物业费

实验4-3给“业主”表中的“房号”字段建立主索引。 操作步骤如下:

(1)打开“物业费管理”数据库。 (2)打开“业主”表 (3)选择“显示”、“表设计器”命令,进入“表设计器”窗口 。如图4-8所示。

图4-8

(4)在“表设计器”窗口中选择索引并确定索引方向为升序。

(5)在“表设计器”窗口中选择“索引”选项卡,设置如图4-9所示。

图4-9

28

实验4-4 Index命令为“房屋”表中的“房号”字段建立候选索引。 操作步骤如下:

在命令窗口输入如下命令: Use 房屋

Index on 房号 tag 房号 CANDIDATE

实验4-5 Index命令为“物业费”表中的“房号”字段建立惟一索引。 操作步骤如下:

在命令窗口输入如下命令: Use 物业费

Index on 房号 tag 房号 UNIQUE

实验4-6 Index命令为“物业费”表中的“经办人”字段建立普通索引。 操作步骤如下:

在命令窗口输入如下命令: Use 物业费

Index on 经办人 tag 经办人

实验4-7 利用表设计器为“物业费”表中的“交费时间”字段建立普通索引,并按索引值显示结果。

操作步骤如下:

⑴在“表设计器”窗口中为“物业费”表中的“交费时间”字段建立普通索引,并确定索引方向为升序。如图4-10所示。

图4-10

⑵显示“浏览”窗口,如图4-11所示。

29

图4-11

⑶从“表”菜单中选择“属性”,显示“工作区属性”窗口。如图4-12所示。

图4-12

⑷在“索引顺序”框中,选择要使用的索引“交费时间”。 如图4-12所示。 ⑸选择“确定”,显示在“浏览”窗口中的表将按照索引指定的顺序排列记录。如图4-13所示。

30

图4-13

实验4-8在表物业费中,利用seek命令查找经办人为“王小雨”的记录并显示。 操作步骤如下:

在命令窗口输入如下命令: Use 物业费

Index On 经办人Tag 经办人 Set Order To经办人 Seek “王小雨” Display

实验4-9对“业主”表和“房屋”表之间建立一对一临时关系。 操作步骤如下:

①打开“超市”数据库,进入数据库设计器窗口。

②打开“业主”表,确定其为父表,并按房号字段建立索引名为房号的主索引。

③打开“房屋”表,确定其为子表,并按房号字段建立索引名为房号的主索引(或候选索引)。 ④在数据库设计器窗口, 在父表的房号索引标识上按下左键不放,拖动到子表的房号索引标识上,释放鼠标按钮,我们可以看到两个表的索引标识之间有一条黑线相连接,表示出这两个表之间的一对一永久关系,如图4-14所示。

31

图4-14

实验4-10给“物业费管理”数据库中的“员工”表设置显示标题。 操作步骤如下:

⑴打开“物业费管理”数据库,进入数据库设计器窗口。

⑵在数据库设计器窗口中单击选中“员工”表,在“数据库”快捷菜单中执行浏览命令,进入浏览器窗口,如图4-15所示。

图4-15

⑶在VFP主菜单中选择“显示”→“表设计器”命令,进入“表设计器”窗口,如图4-16所示。

32

图4-16

⑷在“表设计器”窗口中选定“编号”字段,在“显示”区中的标题文本框中输入“员工编号”(不须用定界符),单击“确定”按钮,出现 “表设计器”询问对话框。

⑸单击“是”按钮,“编号”字段的显示标题“职工编号”便定义完成了,按照以上步骤可以定义其它字段的显示标题。

⑹再打开“员工”表的浏览窗口,如图所示,“编号”字段的标题已经变为“员工编号”。 如图4-17所示。

图4-17

实验4-11 给“物业费管理”数据库中的“业主”表中的“性别”字段设置有效规则。 操作步骤如下:

⑴打开“物业费管理”数据库,进入数据库设计器窗口。

⑵在数据库设计器窗口中选中“业主”表,在“数据库”快捷菜单中执行修改命令,进入“表设计器”窗口。

⑶在“表设计器”窗口中选定“性别”字段,在“字段有效性”区中的“规则”文本框中,输入表达式“性别=”女” or性别=”男””(如果是较为复杂的表达式,也可以单击“规则”框旁边的“...”对话框按钮启动“表达式生成器”,在其中设置有效性表达式),单击“确定”按钮,完成对“性别”字段有效规则的设置,如图4-18所示。

33

图4-18

⑷在“业主”表的浏览窗口,编辑或追加记录时,若“性别”字段违反了有效规则,系统会弹出提示窗口,如图4-19所示。

图4-19

⑸在系统提示窗口,单击“还原”按钮,恢复字段原来状态,返回浏览窗口以备重新输入字段内容。

我们不但可以给表中的字段赋予数据库的属性,而且可以为整个表或表中的记录赋予属性。在“表设计器”中,通过“表”选项卡可以访问这些属性。

34

实验五 视图、查询和报表

(一)实验目的要求

1.掌握创建视图的两种方法(视图设计器、视图向导)。 2.掌握使用视图更新数据的方法。

3.掌握创建查询的两种方法(查询设计器、查询向导)。 4.掌握使用查询的方法。

5.掌握创建报表的两种方法(利用报表向导、利用报表设计器)。 (二)实验内容

1.创建视图。

2.使用视图更新数据。 3.创建查询。 4.使用查询。 5.创建报表。 (三)实验指导

实验5-1利用视图设计器,依据“物业费管理”数据库中的“业主”表,创建一个单表——本地视图“业主联系方式”,视图中包括“房号”、“姓名”、“单位”、“联系电话”4个字段的内容。

具体操作步骤如下:

⑴打开“物业费管理”数据库,进入“数据库设计器”窗口。如图5-1所示。

图5-1

⑵从Visual FoxPro系统主菜单中选择“文件” →“新建”命令,进入“新建”窗口,在“新建”窗口中选择单选按钮“视图”,再单击“新建文件”按钮,此时出现“添加表或视图”窗口,如图所示。如图5-2所示。

35

图5-2

⑶在“添加表或视图”窗口,选择“业主”表,单击“添加”按钮,再单击“关闭”按钮,进入“视图设计器”窗口,如图5-3所示。

图5-3

⑷在“视图设计器”窗口中,选定“字段”选项卡,在“可用字段”栏中依次将“房号”、“姓名”、“单位”、“联系电话”4个字段的内容添加到“选定字段”中,如图5-4所示。

36

图5-4

⑸在“视图设计器”窗口中,单击“关闭”按钮,进入视图“保存”窗口,如图所示。

图5-5

⑹在视图“保存”窗口中输入视图的名字“业主联系方式”,单击“确定”按钮,“业主联系方式”视图文件建立完成,在浏览窗口中显示结果,如图所示。

图5-6

实验5-2利用视图设计器,依据“物业费管理”数据库中的“员工”表,创建一个单表——本地视图“物业部员工”,视图中包括所有物业部员工的“编号”、“姓名”、“所属部门”3个字段的内容。

具体操作步骤如下:

⑴打开“物业费管理”数据库,进入“数据库设计器”窗口。

37

⑵从Visual FoxPro系统主菜单中选择“数据库” → “新建本地视图”,此时出现“新建本地视图”窗口,如图5-7所示。

图5-7

⑶在“新建本地视图”窗口,单击“新建视图”按钮,进入“视图设计器”窗口,,此时出现“添加表或视图”窗口,在“添加表或视图”窗口,选择“员工”表,单击“添加”按钮,进入“视图设计器”窗口。

⑷在“视图设计器”窗口中,选定“字段”选项卡,在“可用字段”栏中依次将“编号”、“姓名”、“所属部门”3个字段的内容添加到“选定字段”中,如图5-8所示。

38

图5-8

⑸在“视图设计器”窗口中,选定“筛选”选项卡,设置记录筛选条件。如图5-9所示。

图5-9

⑹在“视图设计器”窗口中,单击“关闭”按钮,进入视图“保存”窗口,如图5-10所示。

图5-10

⑺在视图“保存”窗口中输入视图的名字“业主联系方式”,单击“确定”按钮,“业主联系方式”视图文件建立完成,在浏览窗口中显示结果,如图5-11所示。

39

图5-11

实验5-3利用视图向导,依据“物业费管理”数据库中的“业主”、“物业费”表,创建一个多表本地视图“业主物业费”,视图中包括所有A区业主的“房号”、“姓名”、“应交金额”、“交费时间”4个字段的内容

具体操作步骤如下:

⑴打开“物业费管理”数据库,进入“数据库设计器”窗口。

⑵从Visual FoxPro系统主菜单中选择“文件”→“新建”命令,进入“新建”窗口,在“新建”窗口中选择单选按钮“视图”,再单击“向导”按钮,进入“本地视图向导”步骤1窗口,如图5-12所示。

图5-12

⑷在“本地视图向导”步骤1窗口,在“数据库和表”列表框中选择“业主”、“物业费”表,在“可用字段”中选取“房号”、“姓名”、“应交金额”、“交费时间”字段并添加到“选定字段”中,再单击“下一步”按钮,进入“本地视图向导”步骤2窗口,如图5-13所示。

40

图5-13

⑸在“本地视图向导”步骤2窗口,单击“添加”按钮,添加表间的关联关系,两个表通过共有字段“房号”建立关联,再单击“下一步”按钮,进入“本地视图向导”步骤2a窗口,如图5-14所示。

图5-14

在“本地视图向导”步骤2a窗口中,选择“仅包含匹配的行”,单击“下一步”按钮,进入“本地视图向导”步骤3窗口,如图5-15所示。

41

图5-15

⑹在“本地视图向导”步骤3窗口,设定查询的筛选条件,再单击“下一步”按钮,进入“本地视图向导”步骤4窗口,如图5-16所示。

图5-16

⑺在“本地视图向导”步骤4窗口,按房号排序,再单击“下一步”按钮,进入“查询向导”步骤4a窗口,如图5-17所示。

图5-17

⑻在“本地视图向导”步骤4a窗口,设置输出全部记录,单击“下一步”按钮,进入“本地视图向导”步骤5窗口,如图5-18所示。

42

图5-18

⑼在“本地视图向导”步骤5窗口中选择“保存本地视图并浏览”按钮,单击“完成”按钮,进入视图“保存”窗口,如图5-19所示。

图5-19

⑽在视图“保存”窗口中输入视图的名字“业主物业费”,单击“确定”按钮,查询文件建立完成,同时在浏览窗口中显示查询结果,如图5-20所示。

图5-20

建立多表视图,可以使多个关联表间的操作简化为单表操作。虽然其中的数据是来自两个表,但看起来就和一个表一样,非常便于我们操作。

实验5-4利用本地视图“物业部员工”,更新“员工”表中“王焱”的“所属部门”字段名下的数据。

具体操作步骤如下:

⑴打开“物业费管理”数据库,进入“数据库设计器”窗口,选定“物业部员工” 视图,在快捷方式中执行修改命令,进入“视图设计器”窗口,选择“更新条件”选项卡,如图5-21所示。

43

图5-21

⑵指定“编号”字段是关键字段,指定 “所属部门”字段是可更新字段,选择“发送SQL更新”,如上图所示,单击“关闭”按钮,进入“保存”系统提示窗口,单击“是”按钮,返回 “数据库设计器”窗口。

⑶在视图“物业部员工”的浏览窗口中把“王焱”的“所属部门”改为工程部,进入“员工”表的浏览窗口,“王焱”的“所属部门”也改为工程部。如图5-22所示。

图5-22

实验5-5利用查询设计器,依据“业主”表和“物业费”表中的数据,查询每位业主03年下半年交物业费的情况。

具体操作步骤如下: ⑴在“物业费管理”项目管理器窗口中选择“数据”选项卡,选择“查询”,然后单击“新建”按钮,系统将打开“新建查询”窗口。

⑵在“新建查询”窗口,单击“新建查询”按钮,此时出现 “添加表或视图”窗口。

⑶在“添加表或视图”窗口,选择表,单击“添加”按钮,VFP把表显示在“查询设计器”窗口的上方。再单击“关闭”按钮,进入“查询设计器”窗口。

⑷在“查询设计器”窗口中,选定“字段”选项卡,在“可用字段”栏中依次将字段添加到“选定字段”中,如图5-23所示。

44

图5-23

⑸在“查询设计器”窗口中,选定“筛选”选项卡,如图5-24所示。

图5-24

在“筛选”选项卡中,“字段名”组合框中可以是字段名,也可以是变量,还可以是表达式,在“字段名”的下拉组合框中可以进行选择, “否”复选框是非逻辑, “条件”复选框是有关的条件运算符,“实例”复选框中输入具体的条件。如果有多个条件,可以在下一行中输入,并在上一行的“逻辑”复选框中选择AND或OR。

⑹在“查询设计器”窗口中,单击“关闭”按钮,进入“另存为”窗口。

45

图5-25

⑺在“另存为” 窗口中输入查询的名字“交物业费”,单击“确定”按钮,查询文件建立完成,同时在浏览窗口中显示查询结果,如图5-26所示。

图5-26

实验5-6利用查询向导,依据“业主”表、“房屋”表和“物业费”表中的数据,查询03年入住的情况。

具体操作步骤如下:

⑴打开“物业费管理”数据库(也可以在“查询向导”步骤1中打开“物业费管理”数据库)。 ⑵从Visual FoxPro系统主菜单中选择“文件” →“新建” 命令,进入“新建”窗口,在“新建”窗口中选择单选按钮“查询”,再单击“向导”按钮,进入“向导选取”窗口。如图5-27所示。

46

图5-27

⑶在“向导选取”窗口中,选择“查询向导”,再单击“确定”按钮,进入“查询向导”步骤1窗口,如图5-28所示。

图5-28

⑷在“查询向导”步骤1窗口,在“数据库和表”列表框中选择“业主”表、“房屋”表和“物业费”,在“可用字段”中选取字段并添加到“选定字段”中,再单击“下一步”按钮,进入“查询向导”步骤2窗口,如图5-29所示。

图5-29

⑸在“查询向导”步骤2窗口,单击“添加”按钮,添加表间的关联关系,两个表通过共有字段“货号”建立关联,再单击“下一步”按钮,进入“查询向导”步骤2a窗口,如图所示。注意:如果选中多个表则进入“步骤2a–字段选取”后再进入“步骤3-筛选记录”,如果选中单个表,则直接进入“步骤3-筛选记录”。

47

在“查询向导”步骤2a窗口中,选择“仅包含匹配的行”,单击“下一步”按钮,进入“查询向导”步骤3窗口,如图5-30所示。

图5-30

⑹在“查询向导”步骤3窗口,设定查询的筛选条件,再单击“下一步”按钮,进入“查询向导”步骤4窗口,如图5-31所示。

图5-31

⑺在“查询向导”步骤4窗口,设定排序依据收银员,再单击“下一步”按钮,进入“查询向导”步骤4a窗口,如图所示。这一步最多选择三个索引标识以确定查询结果的排序顺序。选择“升序” 查询将按升序排序,选择“降序” 查询按降序排序。如图5-32所示。

48

图5-32

⑻在“查询向导”步骤4a窗口,设置记录输出范围,可以通过指定一定百分比的记录,或者选择一定数量的记录,来进一步视图中的记录数目。例如,要查看前5个记录,可选择“数量”,然后在“部分值”框中输入5,单击“下一步”按钮,进入“查询向导”步骤5窗口,如图5-33所示。

图5-33

⑼在“查询向导”步骤5窗口中选择“保存并运行查询” 按钮,单击“完成”按钮,进入“另存为” 窗口。如图5-34所示。

图5-34

⑽在“另存为” 窗口中输入查询的名字“入住情况”,单击“确定”按钮,“入住情况”查询文件建立完成,同时在浏览窗口中显示查询结果,如图5-35所示。

49

图5-35

实验5-7利用报表向导创建单表报表,其名定义为“业主情况表”,其数据源为“业主”表。 操作步骤如下:

(1)选择“文件”→“新建”命令,进入“新建”窗口。

(2)在“新建”窗口中选择“报表”单选按钮,再单击“向导”按钮,进入“向导选取”窗口。如图5-36所示。

(3)在“向导选取”窗口中选择“报表向导”选项,单击“确定”,进入“报表向导”的步骤1窗口。如图5-36所示。

图5-36

(4)在“报表向导”的步骤1窗口的“数据库和表”列表框中选择“业主”表;在“可用字段”列表框中选定输出字段,单击“下一步”按钮,进入“报表向导”的步骤2窗口。如图5-37所示。

(5)在“报表向导”的步骤2窗口,确定“业主”是否进行分组输出,再单击“下一步”按钮,进入“报表向导”的步骤3窗口。如图5-38所示。

图5-37 图5-38

(6)在“报表向导”的步骤3窗口中确定报表样式,再单击“下一步”按钮,进入“报表向导”的步骤4窗口。如图5-39所示。

50

(7)在“报表向导”的步骤4窗口中确定报表布局,再单击“下一步”按钮,进入“报表向导”的步骤5窗口。如图5-40所示。

图5-39 图5-40

(8)在“报表向导”的步骤5窗口中确定报表中数据的输出顺序,再单击“下一步”按钮,进入“报表向导”的步骤6窗口。如图5-41所示。

图5-41

(9)在“报表向导”的步骤6窗口,首先确定输出报表的标题,然后确定报表存储方式,再单击“预览”按钮,可预览报表的输出格式。如图5-42所示。

图5-42

实验5-8利用报表向导创建分组报表,分组输出各部门员工的情况。 操作步骤如下:

(1)选择“文件”→“新建”命令,进入“新建”窗口。

(2)在“新建”窗口中选择“报表”单选按钮,再单击“向导”按钮,进入“向导选取”窗口。

51

(3)在“向导选取”窗口中选择“报表向导”选项,单击“确定”,进入“报表向导”的步骤1窗口。如图5-43所示。

(4)在“报表向导”的步骤1窗口,选定“员工”表作为数据源,选定输出字段,单击“下一步”按钮,进入“报表向导”的步骤2窗口。如图5-44所示。

图5-43 图5-44

(5)在“报表向导”的步骤2窗口,单击“分组选项”下拉列表中的“所属部门”;单击“下一步”按钮,进入“报表向导”的步骤3窗口。如图5-45所示。

(6)在“报表向导”的步骤3窗口中确定报表样式,再单击“下一步”按钮,进入“报表向导”的步骤4窗口。如图5-46所示。

图5-45 图5-46

(7)在“报表向导”的步骤4窗口中确定报表布局,再单击“下一步”按钮,进入“报表向导”的步骤5窗口。如图5-47所示。

(8)在“报表向导”的步骤5窗口中确定报表中数据的输出顺序,再单击“下一步”按钮,进入“报表向导”的步骤6窗口。如图5-48所示。

图5-47图5-48

(9)在“报表向导”的步骤6窗口,首先确定输出报表的标题,然后确定报表存储方式,再单击“预览”按钮,可预览报表的输出格式。如图5-49所示。

52

图5-49

实验5-9用报表向导创建一对多报表,报表的数据源为“物业费管理”数据库的“员工”表、“物业费”表。

操作步骤如下:

(1)打开数据库“物业费管理”。

(2)在“新建”窗口中选择“报表”单选按钮,再单击“向导”按钮,进入“向导选取”窗口。如图5-50所示。

(3)在“向导选取”窗口中选择“一对多报表向导”选项,单击“确定”,进入“报表向导”的步骤1窗口。如图5-51所示。

图5-50 图5-51

(4)在“报表向导”的步骤1窗口中选择父表中可用作输出的字段,再单击“下一步”按钮,进入“报表向导”的步骤2窗口。如图5-52所示。

图5-52 图5-53

53

(5)在“报表向导”的步骤2窗口中选择子表中可用作输出的字段,再单击“下一步”按钮,进入“报表向导”的步骤3窗口。如图5-53所示。

(6)在“报表向导”的步骤3窗口中确定两表的关联字段,再单击“下一步”按钮,进入“报表向导”的步骤4窗口。如图5-所示。

(7)在“报表向导”的步骤4窗口中确定报表中数据的排列顺序。再单击“下一步”按钮,进入“报表向导”的步骤5窗口。如图5-55所示。

图5- 图5-55

(8)在“报表向导”的步骤5窗口中确定报表样式。再单击“下一步”按钮,进入“报表向导”的步骤6窗口。如图5-56所示。

(9)在“报表向导”的步骤6窗口,确定报表存储方式、报表标题和预览报表。如图5-57所示。

图5-56图5-57

实验六 顺序和分支结构程序设计

(一)实验目的要求

1.掌握建立、编辑和调用程序文件的方法。

2.掌握常用输入/输出命令(input、accept、wait、@语句、read语句)的使用方法。 3.掌握单向分支、双向分支和多路分支程序设计的方法。 (二)实验内容

1.建立、编辑和调用程序文件。

2.练习常用输入/输出命令:input、accept、wait、@语句、read语句。

3.单向分支语句if…endif程序设计和双向分支语句if…else…endif程序设计。 4.多路分支语句Do Case程序设计。 (三)实验指导

实验6-1用命令方式显示“员工”表中的全部数据,并逻辑删除第5条记录。 具体操作步骤如下:

⑴在“命令”窗口中输入并执行以下命令:

use 员工.dbf Exclusive Browse Last Delete Record 5

⑵操作结果如图6-1所示。

图6-1

实验6-2用菜单方式显示“员工”表中的全部数据,并逻辑删除第5条记录。 操作步骤如下:

⑴ 在Visual FoxPro主菜单下,选择菜单“文件/打开”,进入“打开”窗口;

⑵ 在“打开”窗口中,选择“员工”表,按“打开”按钮,返回Visual FoxPro主菜单; ⑶ 在Visual FoxPro主菜单下,选择菜单“显示”→“浏览”,进入表“浏览”窗口; ⑷ 在表“浏览”窗口中,选择菜单“表”→“删除记录”,进入“删除”对话框; ⑸ 在“删除”对话框的“作用范围”下拉框中,选择“Record 5”,按“删除”按钮,返回表“浏览”窗口,表中的第5条记录被加上了删除标记。如图6-2所示。

55

图6-2

实验6-3用程序方式显示“员工”表中的全部数据,并逻辑删除第5条记录。 操作步骤如下:

⑴ 利用程序编辑工具创建一个程序文件“L10-3.prg”,内容如下:

Use员工.dbf Exclusive Browse Last Delete Record 5 Browse Last

⑵ 利用菜单方式或命令方式运行程序文件“L10-3.prg”。

程序一旦执行,系统将会逐条地执行每一个操作命令,完成显示“员工”表中的全部数据,并逻辑删除第5条记录。

实验6-4建立和编辑一个以“L10-4.prg”为名的程序文件,程序的功能是先显示“员工”表中的全部数据,再显示物业部员工的数据。

程序文件的内容如下:

use 员工.dbf exclusive browse last

list all for 所属部门=\"物业部\" 方法一:

在“命令”窗口中建立和编辑“L10-4.prg”程序文件的操作方法如下: (1)在命令窗口中,输入命令:Modify Command L10-4.prg 进入程序文件编辑窗口,如图6-3所示:

图6-3

(2)在“程序文件”编辑窗口中逐条输入程序命令行,然后单击关闭按钮,保存程序文件,结束程序文件建立和编辑的操作。如图6-4所示

图6-4

56

方法二:

在“文件”菜单下建立和编辑程序文件的操作方法如下: (1)选择“文件”→“新建”命令,进入“新建”窗口。

(2)在“新建”窗口中选择“程序”单选钮,再单击“新建文件”按钮,进入“程序文件”编辑窗口。如图6-5所示

图6-5

(3)在“程序文件”编辑窗口,逐条输入程序命令行,然后单击关闭按钮,保存程序文件,结束程序文件建立和编辑的操作。如图6-6所示

图6-6

实验6-5设计一个程序,能够查找“员工”表中给定“姓名”的记录。 具体操作步骤如下:

(1)创建程序文件“L10-6.prg”, 如图6-7所示:

图6-7

57

(2)运行程序,结果如下图所示:

再次运行程序,结果如下图所示:

实验6-6设计一个程序,能够分别浏览“房屋”表中不同分布区域的入住情况记录集。具体操作步骤如下:

(1)创建程序文件“L10-7.prg”,内容如图6-8所示:

图6-8

(2)运行3次程序,结果如下图所示:

实验6-7修改“业主”表中的数据,把输入的房号的业主姓名改为“李红卫”。 具体操作步骤如下:

(1)创建程序文件“L10-11.prg”,内容如图6-9所示:

图6-9

(2)运行程序,结果如下图所示:

58

图6-10

实验6-8在“业主”表中查找姓名为“李卫红”的记录,如果找到,则把该记录加上删除标记,没有找到则提示信息“查无此人”。

具体操作步骤如下:

(1)创建程序文件“L10-12.prg”,内容如图6-11所示:

图6-11

(2)运行程序,结果如下图所示:

实验6-9在“员工”表中分别查找“所属部门”为物业部、保安部和财务部的记录集。 具体操作步骤如下:

(1)创建程序文件“L10-13-1.prg”,内容如图6-12所示:

59

图6-12

(2)运行程序,结果如下图所示:

图6-13

实验6-10分支语句程序设计:根据下列公式计算行李超重罚款G,其中行李重量T从键盘输入。

T*1.2 T<=50

G=

50*1.2+(T-50)*2.4 T>50

编程如下: *PR3_1.PRG SET TALK OFF INPUT TO T IF T<=50

G=T*1.2 ELSE

G=50*1.2+(T-50)*2.4 ENDIF

?”行李费:”,G SET TALK ON

具体操作步骤如下:

(1)在命令窗口输入命令 modi comm pr3_1,输入上述程序

按ctr+w保存程序

(2)在命令窗口输入命令do pr3_1运行程序。

60

实验七 循环结构程序设计

(一)实验目的要求

1.掌握“当”型循环控制语句do while…enddo程序设计的方法。 2.掌握“计数”型循环控制语句for…endfor|Next程序设计的方法。 3. 掌握“指针”型循环控制语句scan…endscan程序设计的方法。 (二)实验内容

1.do while…enddo编程。 2.for…endfor|Next编程。 3. scan…endscan编程。 (三)实验指导

实验7-1计算1~100之间自然数的和。 具体操作如下:

(1)创建程序文件“L10-14-2.prg”,内容如图7-1所示:

图7-1

⑵ 运行程序

实验7-2根据“员工”表,统计物业部的员工人数。 具体操作如下:

(1)创建程序文件“L10-15.prg”, 内容如图7-2所示:

图7-2

(2)运行程序,结果如下:

物业部的员工人数是: 6 实验7-3从键盘输入10个数,求其中的最大数。 具体操作如下:

(1)创建程序文件“bcl4.prg”, 内容如图7-3所示:

61

图7-3

(2)一次程序运行的结果如下:

实验7-4计算10!。 具体操作如下:

(1)创建程序文件“L10-16.prg”,内容如下:

图7-4

(2)运行程序,结果如下:

实验7-5计算S的值(S=2!+4!+6!+8!+10!)。 具体操作如下:

(1)创建程序文件“L10-17.prg”,内容如下:

62

图7-5

(2)运行程序,结果如下:

实验7-6计算“员工”表中所属“物业部”的职工的人数。 具体操作如下:

(1)创建程序文件“L10-17.prg”,内容如下:

图7-6

(2)运行程序,结果如下:

实验7-7输出1-100自然数中被3整除的数据的个数及它们的和。 具体操作如下:

(1)创建程序文件“bcl5-1.prg”,内容如下:

图7-7

63

(2)运行程序,结果如下:

实验7-8计算1+2+3+……,当和刚刚大于10000时,所加的最后一个数和最后的和为多少。 具体操作如下:

(1)创建程序文件“bcl6.prg”,内容如下:

图7-8

(2)运行程序,结果如下:

实验7-9由键盘输入10个数,按由小到大的顺序输出这10个数。 编程如下: SET TALK OFF DIMA A(10) FOR I=1 TO 10 INPUT TO A(I) ENDFOR

FOR I=1 TO 9

FOR J=I+1 TO 10 IF A(I)>=A(J) S=A(I) A(I)=A(J) A(J)=S ENDIF ENDFOR ENDFOR

FOR I=1 TO 10 ?A(I) ENDFOR

SET TALK ON 实验7-10

实验八 SQL语句

一、实验目的要求

1.掌握利用select语句进行数据查询的使用方法。

2.掌握利用create table语句进行数据定义的使用方法。

3. 掌握利用SQL语句进行数据操纵(插入数据、更新数据、删除数据)的使用方法。 二、实验内容

1.利用select语句进行数据查询。

2.利用create table语句进行数据定义。

3. 利用SQL语句进行数据操纵(插入数据、更新数据、删除数据)。 三、实验指导

实验8-1 利用已知的“员工”表创建一个查询程序“sql1.prg”,查询所有员工的情况(简单查询)。

操作过程如下:

(1)由“文件”→“新建”→“程序”→“新建文件”启动程序编辑器,输入内容如下:

select 编号,姓名,所属部门 from 员工

或:

select * from 员工

并以文件名“sql1.prg”保存程序文件。

(2)运行程序文件“sql1.prg”,结果如图8-1或如图8-2所示。

图8-1 图8-2

实验8-2利用已知的“房屋”表创建一个查询程序“sql2.prg”,查询所有房屋的情况(使用通配符的简单查询)。

操作过程如下:

(1)创建程序文件“sql2.prg”,内容如下:

select * from 房屋

(2)运行程序,结果如图8-3所示:

图8-3

65

实验8-3利用已知的“员工”表创建一个查询程序“sql3.prg”,查询所有物业部员工的情况(条件查询)。

操作过程如下:

(1)创建程序文件“sql3.prg”,内容如下:

select 编号,姓名,所属部门 from 员工; where 所属部门=\"物业部\"

(2)运行程序,结果如图8-4所示:

图8-4

实验8-4利用已知的“物业费”表创建一个查询程序“sql4.prg”,按日期排序查询张洋收缴物业费的情况(条件查询+排序)。

操作过程如下:

(1)创建程序文件“sql4.prg”,内容如下:

select 房号,应交金额,交费时间,经办人 from 物业费; where 经办人=\"张洋\" order by 交费时间 asc

(2)运行程序文件“sql4.prg”,结果如图8-5所示。

图8-5

实验8-5利用已知的“房屋”和“业主”表创建一个查询程序“sql5.prg”,查询已入住的业主情况(联接查询join …on…子句)。

操作过程如下:

(1)创建程序文件“sql5.prg”,内容如下:

select 房屋.房号,房屋.入住时间,业主.姓名,业主.单位; from 房屋 join 业主 on 房屋.房号=业主.房号

(2)运行程序,结果如图8-6所示。

图8-6

66

实验8-6利用已知的“业主”和“物业费”表创建一个查询程序“sql6.prg”,查询房屋面积在150平米以下的业主信息。(嵌套查询:where子句<条件表达式>中包含另一个Select语句)。

操作过程如下:

(1)创建程序文件“sql6.prg”,内容如下:

select 业主.房号,业主.姓名,业主.职业,业主.联系电话; from 业主 where 业主.房号=any;

(select 房号 from 物业费 where 面积<150) 或:

select 业主.房号,业主.姓名,业主.职业,业主.联系电话; from 业主 where 业主.房号 in;

(select 房号 from 物业费 where 面积<150)

(2)运行程序,结果如图8-7所示:

图8-7

实验8-7利用已知的“业主”和“物业费”表创建一个查询程序“sql7.prg”,查询所交物业费总和(分组计算查询:Group By子句)。

操作过程如下:

(1)创建程序文件“sql7.prg”,内容如下:

select 业主.房号,业主.姓名,sum(物业费.应交金额) as 交费总和; from 物业费 join 业主 on 物业费.房号=业主.房号; group by 物业费.房号

(2)运行程序,结果如图8-8所示:

图8-8

实验8-8根据下面表格8-1至8-4提供的表结构,创建一个程序文件“sql8.prg”,使用Create table命令,在指定路径下创建“业主2”、“房屋2”、“员工2”、“物业费2”四个表。

表8-1 “业主2”表文件的结构

字段名 字段类型 字段宽度 小数点位数 索引否 房号 字符型 7 —— 候选索引 姓名 字符型 8 —— 普通索引 性别 字符型 2 —— —— 职业 字符型 10 —— —— 单位 字符型 20 —— —— 联系电话 字符型 13 —— 候选索引 备注 备注型 4 —— —— 67

表8-2 “房屋2”表文件的结构

字段名 房号 入住时间 结构 备注 字段类型 字符型 日期型 通用型 备注型 字段宽度 7 8 4 4 小数点位数 —— —— —— —— 索引否 候选索引 普通索引 —— —— 表8-3 “员工2”表文件的结构

字段名 编号 姓名 性别 所属部门 备注 字段类型 字符型 字符型 字符型 字符型 备注型 字段宽度 3 8 2 10 4 小数点位数 —— —— —— —— —— 索引否 候选索引 普通索引 —— —— —— 表8-4 “物业费2”表文件的结构

字段名 房号 收费标准 面积 应交金额 交费时间 经办人 备注

操作过程如下:

(1)创建程序文件“sql8.prg”,内容如下:

CREATE TABLE 业主2(房号 C(7),姓名 C(8),性别 C(2),; 职业 C(10),单位 C(20),联系电话 C(13),备注 M)

CREATE TABLE 房屋2(房号 C(7),入住时间 D,结构 G,备注 M) CREATE TABLE 员工2(编号 C(3),姓名 C(8),性别 C(2),; 所属部门 C(10),备注 M)

CREATE TABLE 物业费2(房号 C(7),收费标准 N(5,2),; 面积 N(6,2),应交金额 N(10,2),交费时间 D,; 经办人 C(8),备注 M)

(2)运行程序,“业主2”、“房屋2”、“员工2”、“物业费2”四个表创建完成。

可以使用资源管理器查看默认为文件夹,也可以使用“表设计器”打开表操作来查看具体表结构。

字段类型 字符型 数值型 数值型 数值型 日期型 字符型 备注型 字段宽度 7 5 6 10 8 8 4 小数点位数 —— 2 2 2 —— —— —— 索引否 候选索引 —— —— —— —— 普通索引 ——

图8-9

68

实验8-9创建一个程序文件“sql9.prg”,对“业主2”表结构作如下修改:删除字段(性别);增加一个字段(家庭人口,数值型,2位长整数);修改名为“家庭人口”字段属性(家庭人口,原数值型改为字符型,原2位长整数改为1字符长);删除字段(家庭人口,备注),每进行一个操作,都要显示“业主2”表的结构。

操作过程如下:

(1)创建程序文件“sql9.prg”,程序代码如下:

USE 业主2.dbf EXCLUSIVE Alter Table 业主2 Drop 性别 Modify Structure

Alter Table 业主2 Add 家庭人口 N(2) Modify Structure

Alter Table 业主2 Alter 家庭人口 C(1) Modify Structure

Alter Table 业主2 Drop 家庭人口 Drop 备注 Modify Structure

(2)运行程序,其结果如图8-10至图8-13所示。

图8-10删除“性别”字段后的表结构

图8-11增加“家庭人口”字段后的表结构

69

图8-12修改“家庭人口”字段属性后的表结构

图8-13删除了“家庭人口”和“备注”字段后的表结构

实验8-10创建一个程序文件“sql10.prg”,向“业主2”表添加一个新记录(\"H101101\张小三\男\教师\华北理工大学\;再添加一个记录(\"H101102\王小五\女\教师\华北理工大学\;修改职业为“教师”的记录,前“教师”改为“职员”。每次操作均显示浏览结果。

操作过程如下:

(1)创建程序文件“sql10.prg”,程序代码如下:

insert into 业主2.dbf(房号,姓名,性别,职业,单位,联系电话,备注);

values(\"H101101\张小三\男\教师\华北理工大学\browse last

insert into 业主2.dbf(房号,姓名,性别,职业,单位,联系电话,备注);

values(\"H101102\王小五\女\教师\华北理工大学\browse last

update 业主2 set 职业=\"职员\" where 职业=\"教师\" browse last

(2)运行程序,其结果如图8-14至图8-16所示。

图8-14添加了一条记录后的表浏览

70

图8-15添加了第二条记录后的表浏览

图8-16有条件修改“职业”属性值后的表浏览

实验8-11创建一个程序文件“sql11.prg”,向“业主2”表添加一个新记录(\"H101103\李小六\男\会计\大同软件公司\\");删除职业为\"会计\"的记录;删除姓名为\"王小五\"的记录。每次操作均显示浏览结果。

操作过程如下:

(1)创建程序文件“sql11.prg”,程序代码如下:

insert into 业主2.dbf(房号,姓名,性别,职业,单位,联系电话,备注);

values(\"H101103\李小六\男\会计\大同软件公司\browse last

delete from 业主2 where 职业=\"会计\" browse last

delete from 业主2 where 姓名=\"王小五\" browse last

(2)运行程序,其结果如图8-17至图8-19所示。

图8-17添加了一条记录后的表浏览

图8-18逻辑删除职业=“会计”记录后的表浏览

图8-18逻辑删除姓名=“王小五”记录后的表浏览

71

实验九 表单设计

一、实验目的要求

1.掌握创建表单的操作方法(表单设计器、表单向导)。 2.掌握修改、运行表单的操作方法

3.掌握常用表单控件的功能、主要属性、事件和方法代码。 二、实验内容

1.创建表单。

2.修改、运行表单。

3.练习常用表单控件的设置方法。 三、实验指导

实验9-1 根据已知“业主”表,用“表单向导”创建单表表单“表单1.scx”。 操作步骤如下:

① 打开“文件”菜单,选择“新建”命令,进入“新建”窗口。

② 在“新建”窗口,选择“表单”选项,单击“向导”按钮,进入“向导选取”窗口。如图9-1所示:

图9-1

③ 在“向导选取”窗口中选择“表单向导”,单击“确定”按钮,进入“步骤1”窗口,如图9-2所示。

④ 在“步骤1”窗口中选择作为数据资源的表,再选择可用字段,单击“下一步”按钮,进入“步骤2”窗口,如图9-3所示。

图9-2 图9-3

⑤ 在“步骤2”窗口中选择表单样式,再选择表单中的按钮类型,单击“下一步”按钮,进入“步骤3”窗口,如图9-4所示。

⑥ 在“步骤3”窗口中,指定排序字段,确定记录的输出顺序,单击“下一步”按钮,进入“步骤4”窗口,如图9-5所示。

72

图9-4 图9-5

⑦ 在“步骤4”窗口中,输入表单标题,选择表单保存方式,再单击“完成”按钮,保存并运行表单,如图9-6所示。

图9-6

实验9-2 根据已知“员工”表、“物业费”表,用“表单向导”创建一对多表单“表单2.scx”。 操作步骤如下:

① 打开“文件”菜单,选择“新建”命令,进入“新建”窗口。 ② 在“向导选取”窗口中选择“一对多表单向导”,单击“确定”按钮,进入“步骤1”窗口,如图9-7所示。

③ 在“步骤1”窗口中选择作为数据资源的“物业费管理”数据库(保证在这个数据库中有两个表已建立了一对多的关联关系),再选择父表中可用字段,单击“下一步”按钮,进入“步骤2”窗口,如图9-8所示。

图9-7 图9-8

④ 在“步骤2”窗口中选择子表中可用字段,单击“下一步”按钮,进入“步骤3”窗口,如图9-9所示。

⑤ 在“步骤3”窗口中选择父表与子表的关联字段,单击“下一步”按钮,进入“步骤4”窗口,如图9-10所示。

73

图9-9 图9-10

⑥ 在“步骤4”窗口中选择选择表单样式和按钮类型,单击“下一步”按钮,进入“步骤5”窗口,如图9-11所示。

⑦ 在“步骤5”窗口中选择字段确定记录的输出顺序,单击“下一步”按钮,进入“步骤6”窗口,如图9-12所示。

图9-11 图9-12

⑧ 在“步骤6”窗口中,输入表单标题,再选择表单保存方式,单击“完成”按钮,保存并运行表单,如图9-13所示。

图9-13

实验9-3创建求自然数和的表单“表单3.scx”,保存并运行,结果如图9-14所示。

图9-14

74

操作步骤如下:

① 打开“表单设计器”窗口。

② 在“表单设计器”窗口中打开“属性”窗口,定义表单的属性。

③ 向表单添加7个控件(Label1、Label2、Label3、Label4、Text1、Text2、Text3),并定义控件的属性。

表9-1表单3控件主要属性表

序号 控件名称 属性名称 属性值 Name Label1 Caption 求自然数和: Autocenter T Top 12 1 Label1 Left 24 Backstyle 0-透明 Forecolor ,0,0 Fontname 隶书 Fontsize 26 Name Label2 2 Label2 Caption 输入起始数 Fontname 楷体-GB2312 Fontsize 14 3 Label3 Name Label3 Caption 输入目标数 4 Label4 Name Label4 Caption 计算结果 Name Text1 Top 70 5 Text1 Left 144 Height 37 Width 168 6 Text2 属性设置参照Text1 7 Text3 属性设置参照Text1 ④ 打开“代码”窗口,定义事件与方法代码。 Form1_Init()事件代码如下:

publ i,s i=1 s=0

thisform.text1.setfocus Text1_LostFocus()事件代码如下:

thisform.text2.setfocus Text2_LostFocus()事件代码如下:

s=0

m=val(alltrim(thisform.text1.value)) n=val(alltrim(thisform.text2.value)) for i=m to n s=s+i endfor

thisform.text3.value=alltrim(str(s))

75

Text3_LostFocus()事件代码如下:

thisform.text1.value=\" \" thisform.text2.value=\" \" thisform.text3.value=\" \" ⑤ 运行表单,结果如图9-14所示。

实验9-4创建表单“表单4.scx”,保存并运行,结果如图9-15所示。

图9-15 图9-16

操作步骤如下:

① 打开“表单设计器”窗口。

② 在“表单设计器”窗口中打开“属性”窗口,定义表单的属性。

③ 向表单添加3个控件(Timer1、Label1、Text1), 如图9-16所示,并定义控件的属性。

表9-2表单4控件主要属性表

属性名称 属性值 Name Timer1 1 Timer1 Enabled T Interval 200(1000以内的正整数即可) Name Label1 Caption Label1 Top 40 Left 90 2 Label1 Height 50 Width 200 Forecolor 0,0,255 Fontname 黑体 Fontsize 26 Name Text1 Caption Text1 Top 144 Left 24 3 Text1 Height 60 Width 312 Forecolor 255,0,0 Fontname 宋体 Fontsize 24 ④ 打开“代码”窗口,定义事件与方法代码。 Timer1_Timer()事件代码如下:

thisform.label1.caption=time() thisform.text1.value=datetime()

序号 控件名称 76

⑤ 运行表单即得结果。

实验9-5创建表单“表单5.scx”,保存并运行,结果如图9-17所示。

图9-17 图9-18

操作步骤如下:

① 打开“表单设计器”窗口。

② 在“表单设计器”窗口中打开“属性”窗口,定义表单的属性。 ③ 向表单添加控件,并定义控件的属性。

④ 向表单添加组合框控件,并定义控件的属性,再利用生成器定义其数据来源和显示格式,如图9-18所示。

⑤ 打开代码窗口,定义事件与方法代码。 Command1_Click()事件代码如下:

do case

case thisform.combo1.value=\"操作员1\"; .and. thisform.text1.value=\"111\" i=messagebox(\"欢迎使用本系统\ thisform.release

case thisform.combo1.value=\"操作员2\"; .and. thisform.text1.value=\"222\" i=messagebox(\"欢迎使用本系统\ thisform.release

case thisform.combo1.value=\"操作员3\"; .and. thisform.text1.value=\"333\" i=messagebox(\"欢迎使用本系统\ thisform.release otherwise

i=messagebox(\"对不起,操作员密码错!\ if i=2

thisform.release endif endcase

⑥ 运行表单,结果如图9-17所示。

77

实验9-6创建表单“表单6.scx”,保存并运行,结果如图9-19所示。

图9-19

操作步骤如下:

① 打开“表单设计器”窗口。

② 在“表单设计器”窗口中打开“属性”窗口,定义表单的属性。 ③ 向表单添加控件,并定义控件的属性。

表9-3表单6控件主要属性表

序号 控件名称 属性名称 属性值 Name Label1 1 Label1 Caption 欢迎使用本系统 Wordwrap T Name Optiongroup1 Autosize T 2 Optiongroup1 Backstyle 0-透明 Top 48 Left 60 ButtonCount 3 3 Option1 Name Option1 Caption 楷体 4 Option2 Name Option2 Caption 隶书 5 Option3 Name Option3 Caption 华文行楷 ④ 打开代码窗口,定义事件与方法代码。 Option1_Click()事件代码如下:

thisform.label1.fontname=\"楷体\"

thisform.label1.forecolor=rgb(255,0,0) Option2_Click()事件代码如下:

thisform.label1.fontname=\"隶书\"

thisform.label1.forecolor=rgb(0,0,255) Option3_Click()事件代码如下:

thisform.label1.fontname=\"华文行楷\"

thisform.label1.forecolor=rgb(255,255,0) ⑤ 运行表单,结果如图9-19所示。

78

实验9-7创建表单“表单7.scx”,保存并运行,实现循环播放校园风光组图。结果如图9-20至图9-27所示。

图9-20 图9-21

图9-22 图9-23

图9-24 图9-25

图9-26 图9-27

操作步骤如下:

① 打开“表单设计器”窗口。

79

② 在“表单设计器”窗口中打开“属性”窗口,定义表单的属性。 ③ 向表单添加控件,并定义控件的属性。

表9-4表单7控件主要属性表

序号 控件名称 属性名称 属性值 Name Label1 1 Label1 Caption 美丽的校园 Top 500 Width 200 Name Label2 2 Label2 Caption 美丽的校园 Top 12 Width 230 Name Image1 Picture d:\\2007vfp\\学院风光\\学院标志建筑.jpg 3 Image1 Stretch 2-变比例填充 Left 70 Top 75 Height 393 Width 539 Name Timer1 4 Timer1 Enabled T Interval 150 ④ 打开代码窗口,定义事件与方法代码。 Timer1_Timer()事件代码如下: if i<=260 i=i+1 else i=1 endif if i=1

thisform.label2.caption=\"学 院 标 志\"

thisform.image1.picture=\"d:\\2007vfp\\学院风光\\学院标志建筑.jpg\" endif if i=30

thisform.label2.caption=\"学 院 广 场\"

thisform.image1.picture=\"d:\\2007vfp\\学院风光\\学院广场1.jpg\" endif if i=60

thisform.label2.caption=\"学院教学楼\"

thisform.image1.picture=\"d:\\2007vfp\\学院风光\\学院教学楼1.jpg\" endif if i=90

thisform.label2.caption=\"学院图书馆\"

thisform.image1.picture=\"d:\\2007vfp\\学院风光\\学院图书馆1.jpg\" endif if i=120

80

thisform.label2.caption=\"学院体育场\"

thisform.image1.picture=\"d:\\2007vfp\\学院风光\\学院体育场.jpg\" endif if i=150

thisform.label2.caption=\"校 园 风 光\"

thisform.image1.picture=\"d:\\2007vfp\\学院风光\\学院风景1.jpg\" endif if i=180

thisform.image1.picture=\"d:\\2007vfp\\学院风光\\学院风景2.jpg\" endif if i=210

thisform.image1.picture=\"d:\\2007vfp\\学院风光\\学院风景4.jpg\" endif if i=240

thisform.label2.caption=\"校 园 夜 景\"

thisform.image1.picture=\"d:\\2007vfp\\学院风光\\学院夜景1.jpg\" endif

⑤ 运行表单,即得结果。

实验9-8创建表单“表单8.scx”,保存并运行,结果如图9-28所示。

图9-28

操作步骤如下:

① 打开“表单设计器”窗口。

② 在“表单设计器”窗口中打开“属性”窗口,定义表单的属性,给表单设置数据环境,如图9-29所示。

③ 向表单添加控件,并定义控件的属性。

④ 向表单添加表格控件,定义其属性,再利用生成器定义其数据来源和显示格式,如图9-30所示。

图9-29 图9-30

⑤ 运行表单,结果如图9-28所示。

81

附:实验课时分配表

实验课时分配表

实验项目 实 验 名 称 实验类型 学时数 实验一 VFP6.0 的基本操作 验证性实验 2学时 实验二 常量、变量、函数和表达式 验证性实验 2学时 实验三 表操作 验证性实验 2学时 实验四 数据库和数据表的操作 验证性实验 2学时 实验五 视图、查询和报表 验证性实验 4学时 实验六 顺序和分支结构程序设计 验证性实验 4学时 实验七 循环结构程序设计 验证性实验 2学时 实验八 SQL语句 验证性实验 2学时 实验九 表单设计 验证性实验 4学时 共 计 24学时

82

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- azee.cn 版权所有 赣ICP备2024042794号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务