软件VisualFoxPro实验.docx
- 文档编号:30642583
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:24
- 大小:132.27KB
软件VisualFoxPro实验.docx
《软件VisualFoxPro实验.docx》由会员分享,可在线阅读,更多相关《软件VisualFoxPro实验.docx(24页珍藏版)》请在冰豆网上搜索。
软件VisualFoxPro实验
(2010年3月3日)
实验一VisualFoxPro操作初步
一、实验目的
1.学会安装VFP系统
2.熟悉VFP6.0的启动和退出,并熟悉VFP的用户界面
3.掌握如何创建一个新项目
4.熟悉项目管理器的基本操作。
二、实验内容
1.安装VFP6.0
插入VisualFoxPro6.0光盘,光盘上的AutoRun程序自动运行(如果不是专门的VFP光盘,可利用“我的电脑”或“资源管理器”来运行),根据中文提示逐步安装,安装时最好安装到D盘上。
系统会自动建立一个文件夹VFP,并且把所有系统文件装入其中。
安装完后,重新启动Windows98,系统完成有关参数设置即可启动VFP6.0。
2.启动VFP6.0
方法一:
直接双击桌面的VFP6快捷图标(狐狸图标)
方法二:
单击“开始”、“程序”、“MicrosoftVisualFoxPro6.0”、“MicrosoftVisualFoxPro6.0(狐狸图标)”
启动后,屏幕出现图1.1。
图1.1VFP6.0启动画面
3.退出VFP6.0
方法一:
在“命令”窗口中,输入“quit”
方法二:
按“Alt—F4”
方法三:
在“文件(F)”菜单中,选择“退出”命令
方法四:
单击主窗口左上角的“狐狸”,选择“关闭(C)”
4.自定义工具栏
方法一:
选择菜单栏上的“显示(V)”、“工具栏(T)…”,选定所选工具栏后,按“确定”按钮;如图1.2所示。
方法二:
在工具栏的任一空白处单击鼠标右键,在弹出的级联菜单中选定所需工具,如图1.3所示。
图1.2工具栏调整对话框图 1.3工具栏选择框
5.创建一个新项目
(1)利用“我的电脑”或“资源管理器”,在E盘上建立一个文件夹,命名为“VFP实验”,即E:
\VFP实验。
以后所有的实验内容都保存在这个文件夹中。
(2)建“xjgl”项目。
具体步骤如下:
①选择菜单栏上的“文件(F)”、“新建(N)”,在弹出的新建窗口中选择文件类型为“项目(P)”,同时选择“新建文件(N)”。
如图1.4。
②点击“新建文件(N)”后,弹出保存文件的对话框,如图1.5所示。
在这里选择保存文件的路径为E盘的“VFP实验”文件夹,并在“项目文件”项输入“xjgl”(缺省值为“项目1”),“保存类型(T):
”中选择成为“项目(*.PJX)”。
以上三个参数都设置完后,点击“保存(S)”按钮。
③保存“销售”项目后,弹出“项目管理器”窗口。
如图1.6所示。
图1.4新建各类文件对话框图1.5创建项目对话框
这样,就创建好了“销售”项目。
此时可以在E盘的“VFP实验”文件夹看到新加了“xjgl.PJT”(项目备注文件)和“xjgl.PJX”(项目文件)两个文件。
图1.6“项目管理器”窗口
6. 关闭项目管理器
单击“项目管理器”窗口右上角的“关闭”按钮,或该窗口处于活动状态时执行菜单命令“文件”/“关闭”。
需要注意的是,在关闭“无任何内容”的项目文件(例如,前面刚新建的xjgl)时,系统将出现如图1.7所示的提示框。
单击“保持”按钮。
图1.7项目关闭提示框
7.打开项目管理器
①用命令打开
在“命令”窗口中输入modifyprojectxjgl(“xjgl”是项目名),然后按回车键即可打开“xjgl”项目。
若未输入项目名称则弹出“打开”对话框,请用户自己选择一个已有的项目文件,或输入一个新的待创建的项目文件名。
②利用“我的电脑”或“资源管理器”打开
双击需要打开的项目文件
8.查看项目详细内容
项目管理器中采用的是与资源管理器类似的目录树结构,处于折叠状态的目录在其图表左方有“+”号,单击“+”号可以展开以显示出该目录所包含的子目录,同时“+”号变成“-”号。
单击“-”号又将它恢复成折叠状态。
如图1.8所示。
图1.8部分展开的项目管理器界面图
9.项目管理器的折叠
项目管理器的右上角除关闭按钮外,还有一个带向上箭头的折叠按钮。
单击这一按钮可隐去全部选项卡,只剩下项目管理器和选项卡的标题,如图1.9所示。
与此同时,折叠按钮上的向上箭头也改为向下,变成了恢复按钮。
单击它将使项目管理器恢复原样。
图1.9折叠的项目管理器
10.项目管理器的分离
当项目管理器处于折叠状态时,用鼠标拖动任何一个选项卡的标题,都可使该选项卡与项目管理器分离,如图1.10所示。
分离后的选项卡可以像一个独立的窗口在VFP主窗口中移动。
单击分离选项卡的关闭按钮,即可使该卡恢复原位。
图1.10浮动选项卡
当选项卡处于浮动状态时,通过在选项卡中单击鼠标右键可以访问“项目”菜单中的选项。
11.停放项目管理器
将项目管理器拖到VisualFoxpro主窗口的顶部。
停放就是将工具栏固定在VisualFoxpro窗口的上部、下部或边缘。
“项目管理器”也可以停放在VisualFoxpro窗口的上部。
项目管理器停放后,它就变成窗口工具栏区域的一部分。
项目管理器处于停放状态时,不能将其展开,但是可以单击每个选项卡来进行相应的操作。
对于停放的项目管理器,用户同样可以从中拖开选项卡。
(2010年3月31日)
实验二数据库和表的基本操作
一、实验目的
1.掌握创建和使用数据库的基本方法。
2.掌握创建表的基本方法。
3.掌握数据表中记录的定位、删除等操作。
4.掌握表的打开与关闭操作技术。
5.掌握创建结构复合索引的操作方法,以及索引的使用方法。
6.掌握数据库表的扩展属性的设置方法。
7.掌握创建和使用数据库表的主索引的方法。
8.掌握创建数据库表永久性关系的基本方法。
9.掌握设置数据库表的参照完整性规则的基本方法。
二、实验内容
(一)使用命令综合练习:
1.在3号工作区中打开cj表,建立普通索引,以KCDH和cj组成索引表达式,索引标识名为DHCJ。
2.在2号工作区中打开表XIM,以XDH为关键字,建立标识名为“系代号”的普通索引。
设置主控索引为“系代号”,用seek查找系代号为“04”的记录并判断是否找到该记录。
现在在浏览窗口中显示的第一条记录的记录号为几(依次执行gotop和?
recno())?
再执行SKIP 4 后,记录指针指向哪一条记录?
最后一条记录的记录号是几(依次执行gobottom和?
recno())?
执行以下2条命令后,EOF(),BOF()的返回值是多少?
GO BOTTOM
SKIP
3.在1号工作区中打开JS表
(1)利用LOCATE命令查找GH为“D0003”的记录
(2)给XDH为“05”且XB为男的记录加删除标记。
(3)设置记录筛选,筛选出所有XM为姓“张”的记录。
(4)设置字段筛选,要求只显示GH,XM,GZRQ三列数据。
(5)将所有50年(包括50年)以前出生的人的GZRQ(工作日期)改为74年8月1日
(二)把…\数据库练习1\实验04.1设置为当前默认的目录,在实验04.1目录下:
1.创建数据库jxsj。
2.在命令窗口中分别依次输入和执行下列命令,每条命令执行后注意观察VFP主窗口中的变化情况。
closedatabaseall
opendatabasesjk
opendatabasesjk1
opendatabasesjk2
setdatabasetosjk1
closedatabase
setdatabasetosjk2
closedatabaseall
setdatabasetosjk
3.打开数据库sjk,把xs、cj和js表添加到数据库sjk中。
4.在数据库sjk中,新建数据库表KC:
kcdh(C,4),kcm(C,18),kss(N,2),bxk(L),xf(N,1)
5.设置数据库表js的字段属性信息:
gh:
标题为工号,不显示输入字段的前导空格字符,输入掩码为X9999,字段注释为主关键字
xm:
标题为姓名,不显示输入字段的前导空格字符
xb:
标题为性别,默认值为男,只允许输入男或女,字段验证信息为“为男或女”
xdh:
标题为系代号,只允许输入两个数字
zcdh:
标题为职称代号,只允许输入两个数字
csrq:
标题为出生日期
gzrq:
标题为工作日期,默认值为当前日期
jl:
标题为简历
6.修改js表的第1条记录的“性别”字段的值,将“男”改为“无”,光标移动到其他字段或记录,则因违反字段验证规则而显示字段验证信息(这时单击提示框中的“还原”命令按钮)。
7.设置数据库表cj的字段属性信息:
cj字段输入数据范围在0-100之间,xh字段输入的值必须为6位。
8.设置数据库表js的记录验证信息:
工作时必须满18岁。
删除触发器为“empty(gh) ”,插入触发器为“!
empty(gh) ”,长表名为“教师基本档案表”,表注释为“教师基本档案表(2006年创建)”。
9.修改js表的第1条记录的“出生日期”字段的值,改为与“工作日期”字段的值相同,光标移动到其他记录,则因违反记录有效性规则而显示记录有效性信息(这时单击提示框中的“还原”命令按钮)。
删除第2条记录,光标移动到其他记录,则因违反删除触发器而显示提示信息(这时单击提示框中的“还原”命令按钮)。
10.设置数据库表xs的插入触发器:
总记录数不能超过37条。
11.设置数据库表js的更新触发器:
出生日期必须大于40年。
(三)把…\数据库练习2\实验04.2设置为当前默认的目录,在实验04.2目录下:
1.打开数据库sjk。
2.为表js创建一个名为jsgh的主索引,索引表达式为gh,升序排序。
为表gz创建一个名为gh的主索引,索引表达式为gh,升序排序。
3.以xs表为主表,cj表为子表,按xh建立一对多永久关系;以kc表为主表,cj表为子表,按kcdh建立一对多永久关系。
4.对xs表和cj表设置参照完整性:
更新规则为级联,删除规则为限制,插入规则为限制。
(1)在“命令”窗口中输入并执行下列命令:
Usexs
Replxhwith‘123456’forxh=’990201’
上述命令执行后,打开cj表的浏览窗口查看学号,可以发现cj表中的学号’990201’自动地改为了’123456’。
这是由于xs表与cj表之间设置了“更新级联”。
(2)在“命令”窗口中输入并执行下列命令:
Usexs
Deleforxh=’990202’
上述命令执行后,出现“触发器失败”信息提示框。
这是由于xs表与cj表之间设置了“删除限制”,cj表中有学号为’990202’学生的成绩,则xs表不允许删除该记录。
但删除cj表中的记录时无限制,可以自行实验进行验证。
(3)在“命令”窗口中输入并执行下列命令:
Insertintocj(xh,kcdh,cj)values(‘998877’,’05’,90)
(或用usecj和appeblank两条命令)
上述命令执行后,出现“触发器失败”信息提示框。
这是由于xs表与cj表之间设置了“插入限制”,xs表中无学号为’998877’的学生记录,则cj表不允许插入该记录。
但xs表中插入记录时无限制,可以自行实验进行验证。
(四)把…\数据库练习3\实验04.3设置为当前默认的目录,在实验04.3目录下:
1.建立数据库glxt
(1)将表xs.dbf、js.dbf、cj.dbf、kc.dbf添加到glxt数据库中.
(2)设置表kc.dbf的有关属性:
字段名
字段标题
输入掩码
字段验证规则
默认值
Kcdh
课程代号
99
Kcm
课程名
Kss
课时数
9
Bxk
是否必修课
.T.
Xf
学分
学分必须小于等于5
(3)在Js表中设置插入触发器验证规则:
总记录数不能超过8,更新触发器:
出生日期必须大于48年,删除触发器:
永远为假。
(4)Js表中建立索引:
(a)以gh为索引表达式,建立主索引,索引标识名为“工号”。
(升序)
(b)以xdh加gzrq为索引表达式,建立普通索引,索引标识名为“xdhgzrq”(降序)。
(5)以xs表为主表,cj表为子表,建立一对多永久关系,并设置参照完整性:
要求:
若父表中不存在匹配的关键字值,则禁止在子表中插入相关记录;在父表中修改了主关键字的值,则用新的关键字值更新子表中的所有相关记录;若子表中存在相关记录则禁止在主表中删除该记录。
实验三查询和视图(4.28)
一、实验目的
1.掌握查询与视图的基本概念和用法。
2.熟悉建立和使用查询与视图的方法。
3.了解并掌握用SELECT-SQL命令进行查询的各种使用方法。
二、实验内容
(一)查询练习题
1.显示JS表中所有教师的工号和姓名。
2.显示XS表中学号以99开头的学生情况。
3.从高到低显示CJ表中代号为“01”的课程的学生的学号和成绩。
4.查询教师表中基本工资在800元以上(含800元)的教师的工号、姓名和基本工资情况,按系代号升序排序,同一个系的教师按基本工资的降序排序。
5.显示XS和ZY两张表中三个字段XH、XM、ZYMC的内容,并根据ZYDH字段联接两张表。
6.显示CJ表中有不及格课程成绩的学生的学号和姓名,有多门课程不及格的学生只显示一次。
7.显示CJ表中课程代号及最高分。
8.查询每门课程的课程代号和名称以及最高分,并把查询结果保存了到KC_MAX_CJ.DBF表文件中。
9.查询教师表中各系教师的人数、工资总额和平均工资,并按平均工资降序排序。
查询输出中必须包含系名、系人数、工资总额和平均工资四个列。
10.查询信息管理系中所有成绩总分在480分以上,并且各门课程的成绩不得低于70分的学生。
要求在查询结果中包含学生的学号、姓名、总分、平均分和最低分,并按照总分从高到低排列。
11.创建一个查询(jszc.qpr),显示js表和zc表中职称为“教授”的所有教师的工号、姓名、出生日期、工作日期和职称,并将结果保存到临时表jszctemp中。
12.创建一个查询(xshj.qpr),查询所有男生的籍贯情况。
要求查询结果中包含学生学号、姓名、性别、籍贯和出生日期,按学生学号进行排序。
13.创建一个查询(kcximxscj.qpr),查询各系科“中文Windows95”和“管理信息系统”这两门课程的学习情况。
要求查询结果中包含课程名、系名、两门课程各系科的学习人数、平均成绩、最高分,并且平均成绩要求大于70分,最后按课程名和系名进行排序。
14.创建一个查询(ximjsgz.qpr),查询各系科工龄不低于20年的所有教师的基本工资情况。
要求查询结果中包含各系科系名、满足条件的教师人数、基本工资总额、平均基本工资和最低基本工资,输出平均基本工资大于900的系科,并按平均基本工资进行排序。
15.创建一个查询(zcjsgz.qpr),查询职称是教授和副教授的所有教师的收入情况。
要求查询结果中包含教师姓名、职称、个人收入(仅包括基本工资和岗位津贴),并按个人收入进行排序。
16.创建一个查询(ximjskss.qpr),统计各教师的任课课时数,按系科和工号排序。
(二)视图练习题:
1.创建一个本地视图(viewjsjbgz),要求结果中包含工号、姓名、职称和该教师的基本工资等字段,并按职称和基本工资排序。
2.创建一个本地视图(viewxs),要求结果中包含xs表的所有字段。
3.创建一个本地视图(viewjskk),要求显示js表、rk表以及kc表中工号以“A”开头的教师的工号、姓名、专业代号、课程代号、课程名以及该课程的课时数。
4.打开“数据工作期”窗口,在命令窗口中分别依次输入和执行下列命令,每条命令执行后注意观察“数据工作期”窗口中的变化情况:
opendatabasesjk
useviewjsjbgz
browse
sele5
useviewjsjbgz
sele6
useviewjsjbgz
seleviewjsjbgz
use
closedata
opendatabasesjk
deleviewviewjsjbgz
5.设置viewjsjbgz视图中xm字段的更新能发送到基表js的xm字段。
6.将viewjsjbgz视图修改为参数化视图,使得该视图可以根据输入的教师工号参数,输出该教师的基本工资情况。
“筛选”选项卡中插入一行:
js.gh=?
教师工号
设置好后运行参数化视图。
7.创建一个基于js表、rk表以及kc表的视图viewjsrk,显示gh、xm、zcdh、kcm、kss等字段。
要求视图可更新课程表的课程名和课时数字段。
8.创建一个基于viewjsrk视图和zc职称表的查询jrzc。
要求列出视图中的所有字段、教师职称和每个教师的总课时数。
输出总课时数大于4的记录。
9.创建一个基于viewjsrk视图的视图viewjrkc。
要求显示教师姓名、任课课程名以及该课程的课时数,在该视图中对课时数的更新允许发送到其基表――kc表。
10.创建一个基于xs表、cj表和kc表的参数化视图viewxscj,显示xh、xm、kcdh、kcm、cj等字段。
使得该视图可以根据输入的课程代号参数,输出该课程每个学生的成绩。
实验四报表(5.12)
一、实验目的
1.掌握使用报表向导与报表设计器的方法。
2.能利用报表设计器修改或创建报表。
二、实验内容
(一)利用报表向导创建基于一张表的简单报表。
1.字段选取:
选取js表中的gh、xm、xdh等字段。
2.选择报表样式:
选取“帐务式”。
3.定义报表布局:
“列数”定义为2,其他为默认值。
4.排序记录:
选择以xdh字段排序且为降序。
5.完成:
先选择“预览”,关闭预览窗口后保存报表(文件名为rpt1)供以后使用。
(二)利用报表向导创建基于一张表的数据进行分组与统计的报表。
1.字段选取:
选取js表中的gh、xm、xdh、gzrq等字段。
2.分组记录:
分组依据选择xdh,并单击“总结选项”选择gh的计数,再单击确定。
3.选择报表样式:
选取“帐务式”。
4.排序记录:
选择以gzrq字段排序且为降序。
5.完成:
先选择“预览”,关闭预览窗口后保存报表(文件名为rpt2)供以后使用。
(三)利用一对多报表向导创建基于具有一对多关系的两张表的报表。
1.从父表中选择字段:
选取xs表中的xh、xm、xdh等字段。
2.从子表中选择字段:
选取cj表中的kcdh、cj等字段。
3.关联表:
以默认值为准(在数据库中已创建了永久性关系)。
4.排序记录:
选择以xdh与xh字段排序。
5.选择报表样式:
选取“经营式”。
6.完成:
先选择“预览”,关闭预览窗口后保存报表(文件名为rpt3)供以后使用。
(四)利用kc、cj表建立一对多报表。
按kcm排序,输出kcm、kcdh、xh及cj。
(五)建立一分组报表,要求从cj表中按学号(xh)分组输出每位学生的学号(xh)、及选修的所有课程的课程代号和成绩。
(六)利用xs、cj表,按xh建立分组报表。
输出xh、xm、xb、zydh及kcdh、cj。
(七)利用kc、cj表,按kcdh建立分组报表。
输出kcdh、kcm及xh、cj。
(2010.5.19)
实验五VFP程序设计
一、实验目的
1.学习和掌握有关VFP各种数据量的定义。
2.了解内存变量文件的建立与使用。
3.学习和掌握VFP数据库中的各种运算符及使用。
4.了解和掌握部分常用函数的使用。
5.熟悉VFP命令文件的建立和执行。
6.掌握结构化程序设计的一般方法。
7.熟练掌握VFP程序设计的条件选择及循环命令的使用与应用。
二、实验内容
(一)常量、变量、函数和表达式
1、常量
在VFP命令窗口键入以下命令,观察VFP主窗口内的输出结果,并判断类型。
?
35000
?
1E10
?
"ABCD"
?
?
"abcd"
?
{^2007-03-30}
?
{^2007-03-3010:
11:
12P}
?
.T.
?
$12.5
2、变量操作基本练习
(1)变量的值的变化规律练习
在命令窗口依次键入下列命令,分析输出结果,了解变量内容(值)的变化.
a=2
?
a
a=4
?
a
a=2*a
?
a
(2)赋值命令使用练习
①在VFP命令窗口分别键入下列命令,判断各变量的数据类型,并用“?
”命令检查变量a,b,c的值。
STORE10TOa,b,c
STORE“VisualForpro”Toa,b,c
STORE.T.TOa,b,c
STORE{^2003/08/04}TOa,b,c
STORE$31.25TOa,b,c
②在VFP命令窗口分别键入下列命令,判断各变量的数据类型,然后分别使用“LISTMEMORY”和“DISPLAYMEMORY”显示各变量的信息。
STORE1.50TOa,b,c
d=“VisualFoxPro,是一种可视化编程工具”
e=.F.
f={^2003/08/0417:
40:
35pm}
g={^2003/08/04}
③在VFP命令窗口键入清除内存变量的命令,然后再分别使用“LISTMEMORY”和“DISPLAYMEMORY”,观察输出效果,并体会两种命令的差别。
④对上述变量进行保存(SAVETO)和恢复(RESTOREFROM)操作,观察显示结果。
3、表达式操作练习
(1)先手工计算下列各字符串表达式的值,然后用VFP命令计算并在主窗口内输出各表达式的值。
39%4
35.35%3.2
15-39%9^2/3^2+6.2/2.6%2
50%(1-3^2)
(2)先根据字符串运算符的运算规则,确定下列各字符串表达式的运算结果,然后用VFP命令计算并在主窗口内输出各表达式的值。
“VisualFoxPro”+“是一种可视化编程工具”
“I”+“am”+“astudent!
”
“I”-“am”-“astudent!
”
“abc”=“abcd”
“abc”==“abcd”
“abc”$“abcd”
“ef”$“abcd”
(3)根据关系运算符的运算规则,确定下列各关系表达式的运算结果,然后用VFP命令计算并在主窗口内输出各表达式的值。
34>30
45>54
12>=12
23<=23
12<>12
50%(1-3^2)=15-39%9^2/3^2+6.2/2.6%2
(4)跟据逻辑运算符的运算规则,确定下列各逻辑表达式的运算结果,然后用VFP命令计算并在主窗口内输出各表达式的值。
.F.AND.T.
.NOT..F..AND..T.
.NOT..F..AND..T..OR..F.
3>4.AND.4<5
3>4.OR.R<5
“ABC”=“AB”.AND.“CD”<>“AB”
4、函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 VisualFoxPro 实验