VFP数据库与程序设计作业及实验报告.docx
《VFP数据库与程序设计作业及实验报告.docx》由会员分享,可在线阅读,更多相关《VFP数据库与程序设计作业及实验报告.docx(39页珍藏版)》请在冰豆网上搜索。
VFP数据库与程序设计作业及实验报告
VFP数据库与程序设计
作业与实验报告
学号:
姓名:
专业:
教师:
2010年3月
前言
本册是《VisualFoxPro6.0数据库与程序设计》的配套作业与上机练习,全册共分9章。
编者
2010年3月
一VFP基础知识
·作业部分·
1.下列正确的字符型常数是:
A."ABCD"1234B."ABCD'1234"C."ABCD123"EFGD."ABCD'123"EFG
2.使用命令dimemm(2,3)定义的数组,包含的数组元素的个数为:
A.2个B.3个C.5个D.6个
3.可以链接或嵌入OLE对象的字段类型是:
A.通用型B.备注型C.字符型D.任何类型
4.VisualFoxPro数据库管理系统支持的数据模型是:
A.网状型B.共享型C.层次型D.关系型
5.关于空字符串的正确说法是:
A.定界符内只包含一个空格B.定界符内只包含有空格
C.空字符串的长度为0D.空字符串的长度取决于定界符内空格的个数
6.数据库管理系统的英文缩写是:
A.DSSB.DBSC.DBMSD.DBA
7.数据库系统的核心是:
A.编译系统B.操作系统C.数据库D.数据库管理系统
8.通用字段G和备注字段M在表中的宽度都是:
A.2个字节B.4个字节C.8个字节D.10个字节
9.在下面的VisualFoxPro表达式中,不正确的是:
A.{^2003-03-0110:
10:
10AM}-10B.{^2003-03-01}-date()
C.{^2003-03-01}+date()D.{^2003-03-01}+1000
10.下列字符串是非法的变量名的有:
A.GYBF2B.4KUC.A_BGD.姓名
11.设A="123",B="234",表达式值为假(.F.)的是:
A..not.(A==B).or.(B$"ABC")B..not.(A$"ABC").and.(A<>B)
C..not.(A<>B)D..not.(A>=B)
12.结果为真(.T.)的表达式是:
A."bei"$"beijing"B."bei"$"before"
C."bei"$"i"D."beijing"$"bei"
13.表达式?
MOD(14,int(PI()))的值是:
A.4B.3C.2D.1
14.E=AT("ABCD","ABEFCD")变量E的值是:
A.3B.2C.1D.0
15.表达式?
LEN(LEFT("沈阳农业大学",4))的值是:
A.沈阳B.2C.4D.农业
16.执行命令DIMENSIONM(4,2)之后,数组各元素的初值是:
A.0B..F.C..T.D.空值
17.表达式?
IIF(5>3,1,0)的值是:
A.1B.0C.5D.3
18.E=SPACE(5)-SPACE(5)变量E的值空格个数是:
A.10B.5C.0D.1
19.表达式:
?
"dc"$"abcdef"的值是:
A..T.B..F.C.dcD.abcdef
·实验部分·
实验题目:
VFP基础知识
实验目的:
通过本次实验,让学生了解VFP环境,掌握基本VFP函数。
实验内容:
在命令窗口中输入下列命令,并给出运行结果。
1.?
int(16.9)
2.?
round(27.6492,2)
3.?
sqrt(49)
4.?
mod(18,4)
5.?
len("沈阳农业大学")
6.?
"ad"+space(3)+"df"
7.?
lower("Wang")
8.?
upper("abcDef")
9.?
substr("沈阳农业大学",3,4)
10.?
left("王小力",4)
11.?
at("is","this")
12.?
year(date())
13.?
asc("c")
14.?
chr(66)
15.?
val("12")+val("23")
16.?
str(23,2)+str(56,2)
评阅时间:
二VFP数据表操作
·作业部分·
1.在VFP中,记录是由字段值构成,但数据长度比个字段宽度之和多一个字节,这个字节是用来存放:
A.记录分隔标记B.记录序号C.记录指针定位标志D.删除标记
2.修改表结构的命令是:
A.modistruB.modifycommandC.liststructureD.dispstru
3.在当前记录前插入一条记录的正确命令是:
A.inseB.insertbeforeC.appendD.appendbefore
4.显示第3条记录的命令是:
A.listforrecno()B.disp3C.listfor3D.dispreco3
5.删除当前记录的正确命令是:
A.deleB.deleteforrecordC.deletenextD.deleterest
6.向表中追加一条空记录的命令:
A.appendblankB.appendC.insertblankD.insert
7.将rcda表中非党员男性记录的工资加100元替换的正确命令是:
A.repl工资现状with工资现状+100for党员否=Fand性别="男"
B.repl工资现状with工资现状+100fornot党员否and性别="男"
C.repl工资现状with工资现状+100for党员否=For性别="男"
D.repl工资现状with工资现状+100fornot党员否or性别="男"
8.将xscj表中的男生的性别改为字母"M",成绩改为80分的正确命令是:
A.repl性别with"M",成绩with80for性别="男"
B.repl性别with"M"成绩with80for性别=男
C.repl性别with"M",成绩with80
D.repl性别withM,成绩with80for性别="男"
9.显示rcda表中1968年生人的记录命令是:
A.listforyear(出生日期)=1968B.listforyear(出生日期)=68
C.listforday(出生日期)=1968D.listforday(出生日期)=1968
10.显示rcda表中所有编号前两个字符为"bj"记录的命令是:
A.dispforsubstr(编号,2,2)="bj"B.dispforleft(编号,2)="bj"
C.listfor编号=bjD.listforright(编号,2)="bj"
11.删除名字内有"宁"字的记录的正确命令是:
A.deletefor姓名="宁"B.deleforsubstr(姓名,3,2)="宁"
C.delefor"宁"$姓名D.deletefor姓名$"宁"
12.清除主窗口屏幕的命令是:
A.CLEARB.CLEARALLC.CLEARSCREEND.CLEARWINDOWS
·实验部分·
实验题目:
数据表的建立及数据表操作
实验目的:
通过本次实验,让学生掌握VFP数据表的建立,掌握创建项目、在项目中创建数据库、自由表和数据库表的相互转换、数据表的基本操作与维护功能。
实验内容及实验步骤:
1.建立名为xsda.dbf的数据表:
表1—结构定义
字段名
类型
宽度
小数位数
学号
字符型
6
姓名
字符型
6
性别
字符型
2
年龄
字符型
4
专业
字符型
8
三好学生
逻辑型
1
成绩
数值型
5
2
简历
备注型
4
照片
通用型
4
表2—数据表内容
学号
姓名
性别
年龄
专业
三好学生
成绩
简历
照片
950018
刘蕊
女
19
农学
.F.
81.00
950002
郑东
男
18
兽医
.T.
94.33
950033
刘虹
女
20
植保
.F.
71.00
940023
金鑫
男
20
兽医
.T.
84.67
950015
李顺
女
18
农学
.F.
76.67
940106
白静
女
19
兽医
.T.
90.33
950057
孙秀
男
18
植保
.F.
84.33
步骤:
单击菜单栏的【文件】-【新建】-【表】-【新建文件】命令,在弹出的“创建”对话框中输入表名,单击【保存】按钮,在弹出的“表设计器”对话框中按照表1定义表结构,单击【确定】按钮,在弹出的“现在输入数据记录吗?
”对话框中选择【是】,按照表2输入数据表内容后关闭该表窗口。
2.修改数据:
将第三条记录姓名字段值“刘虹”改为“刘红”。
步骤:
单击菜单栏的【显示】-命令,浏览数据表,修改姓名字段。
3.输入白静的简历为:
2005年被评为校优秀干部。
步骤:
(单击/双击)白静的简历字段,在弹出的“xsda.简历”对话框中输入“2005年被评为校优秀干部”后关闭该窗口。
4.为白静的照片字段插入任意一张的图片。
步骤:
双击白静的照片字段,单击菜单栏的【编辑】-命令,在弹出的“插入对象”对话框中单击单选按钮,浏览选取任意一张图片,单击【确定】按钮后关闭该窗口。
5.追加一条新记录:
输入任意的信息。
步骤:
单击菜单栏的【表】-命令,追加一条新记录,输入任意信息。
6.将bf.dbf表中简历和照片字段删除。
步骤:
单击菜单栏的【文件】-【打开】命令,在弹出的“打开”对话框中选择文件类型为,选择数据表bf.dbf,选中复选框,单击【确定】按钮。
单击菜单栏的【显示】-命令,打开“表设计器”,单击“简历”字段后单击【删除】按钮,同理删除“照片”字段,单击【确定】按钮,在弹出的“结构更改为否永久性更改?
”对话框中选择按钮。
7.创建一个名为xsgl.pjx的项目。
步骤:
单击菜单栏的【文件】-【新建】-【项目】-【新建文件】命令,在弹出的“创建”对话框中,输入项目名,单击【保存】按钮。
8.在项目中创建名为aa.dbf的数据表。
步骤:
单击项目中的【数据】-【自由表】-【新建】-【新建表】,在弹出的“创建”对话框中,输入表名,单击【保存】按钮,任意输入字段定义一个数据表。
9.将aa.dbf表从项目中移除。
步骤:
在项目管理器中单击数据表aa.dbf,单击右侧的按钮,在弹出的“从项目中移去表还是从磁盘中删除表?
”提示对话框中单击按钮。
10.筛选出djks.dbf表姓刘的记录。
步骤:
打开并浏览表djks.dbf,单击菜单栏的【表】-命令,在弹出的“工作区属性”对话框的“数据过滤器”中输入条件。
11.取消记录筛选设置。
步骤:
单击菜单栏的【表】-命令,在弹出的“工作区属性”对话框中,擦除数据过滤器中条件。
12.筛选出考号、姓名、结论三个字段的数据。
步骤:
单击菜单栏的【表】-命令,在弹出的“工作区属性”对话框中,在“允许访问”中选择单选按钮,单击【字段筛选】按钮,在弹出的“字段选择”对话框中,双击考号、姓名、结论三个字段后单击【确定】按钮,关闭该表窗口后单击菜单栏的【表】-【浏览表】命令重新浏览该表。
13.取消字段筛选设置。
步骤:
步骤:
单击菜单栏的【表】-命令,在弹出的“工作区属性”对话框中,在“允许访问”中选择单选按钮。
14.用命令显示djks.dbf表中第78号记录内容。
命令:
15.用命令显示30至50之间的记录。
命令:
16.用命令显示82至最后记录的内容。
命令:
17.用locate命令查找djks.dbf表中结论是补考的记录。
命令:
18.继续显示。
命令:
19.将rcda.dbf表中女同志工资增加100元(用菜单和命令两种方法)。
步骤:
打开并浏览表rcda.dbf,单击菜单栏的【表】-命令,在弹出的“替换字段”对话框中,设置“字段”,“替换为”,作用范围,for,单击【替换】按钮。
命令:
20.逻辑删除teacher.dbf表中男同志的记录(用菜单和命令两种方法)。
步骤:
打开并浏览表teacher.dbf,单击菜单栏的【表】-命令,在弹出的“删除”对话框中,设置作用范围,for,单击【删除】按钮。
命令:
21.恢复teacher表中男同志的记录(用菜单和命令两种方法)。
步骤:
单击菜单栏的【表】-命令,在弹出的“恢复记录”对话框中,设置作用范围,for,单击【恢复记录】按钮。
命令:
22.其它带有删除标记的记录彻底删除(用菜单和命令两种方法)。
步骤:
单击菜单栏的【表】-命令,在弹出的提示对话框中单击【是】按钮。
命令:
评阅时间:
三VFP数据库操作
·作业部分·
1.复制表结构命令是:
A.copytoxsB.copyfilexstoC.copystrutoxsD.copytostru
2.在VFP中进行参照完整性设置时,要想设置成:
当更改父表中的主关键字段或候选关键字段时,自动更改所有相关子表记录中的对应值,应选择:
A.限制B.忽略C.级联D.级联或限制
3.按出生月份进行索引的正确命令是:
A.indexonyear(出生日期)tocsrqB.indexonleft(dtoc(出生日期),2)tocsrq
C.indexon出生日期tocsrqD.indexonmonth(出生日期)tocsrq
4.下列哪个统计记录个数的命令是正确的:
A.count()B.counton学号 toss
C.reccounttossD.counttoss
5.不允许记录中出现重复索引值的索引是:
A.主索引B.主索引、候选索引和普通索引
C.主索引、候选索引D.主索引、候选索引和唯一索引
6.在VFP中打开数据库的命令是:
A.opendata数据库名B.use数据库名C.usedata数据库名D.open数据库名
7.可以对字段设置默认值的表是:
A.是数据库的表B.是自由表
C.自由表或数据库表D.视图
8.要控制两个表中数据完整性和一致性可以设置“参照完整性”,要求两个表:
A.是同一个数据库中的表B.不同数据库中的两个表
C.两个自由表D.一个是数据库中的表,另一个是自由表
9.VisualFoxpro参照完整性规则不包括:
A.更新规则B.删除规则C.查询规则D.插入规则
·实验部分·
实验题目:
数据表索引、数据统计及数据库操作
实验目的:
通过本次实验,让学生掌握数据表的复制、数据表的排序与索引、数据表的统计功能,掌握设置表的字段属性、有效性规则、创建永久关系和设置参照完整性功能。
实验内容及实验步骤:
1.对学生.dbf表备份一个名为bf1.dbf的数据表。
步骤:
打开并浏览表学生.dbf,单击菜单栏的【文件】-命令,在弹出的“导出”对话框中,在导出到位置输入表名,单击【确定】按钮。
2.用命令通过djks.dbf表复制表结构生成zsff.dbf表,包含考号、姓名、结论字段。
命令:
3.将djks.dbf表中结论为通过的记录追加到zsff.dbf中。
步骤:
打开并浏览表zsff.dbf,单击菜单栏的【表】-命令,在弹出的“追加来源”对话框中,单击“来源于”右侧文件浏览按钮,选取数据表djks.dbf并打开,单击按钮,在弹出的“追加来源选项”对话框中,单击【For】按钮,在“表达式”中输入条件,单击【确定】按钮。
4.对rcda.dbf表按姓名建立普通索引。
步骤:
打开表rcda.dbf,单击菜单栏的【显示】-命令,单击面板,设置索引名字为“姓名”,索引类型为,索引表达式为,单击【确定】按钮。
5.查看索引的结果。
步骤:
单击菜单栏的【显示】-【浏览表】命令,浏览数据表,单击【表】-命令,在弹出的“工作区属性”对话框中,选择“索引顺序”为,单击【确定】按钮。
6.用seek命令查找rcda.dbf表中有没有叫王小立的,有则用disp命令显示。
命令:
7.用命令统计djks表中笔试及格的人数。
命令:
8.用命令统计djks表中补考的人数。
命令:
9.用命令求djks表中笔试的平均分。
命令:
10.用命令求djks表中上机的总分。
命令:
11.建立xsgl.dbc数据库,将xsda.dbf、xscj.dbf、txl.dbf、djks.dbf四个自由表添入数据库中。
步骤:
单击菜单栏的【文件】-【新建】-【数据库】-【新建文件】,在弹出的“创建”对话框中,输入数据库名,单击【保存】按钮。
单击菜单栏【数据库】(或在数据库中单击鼠标右键),选择命令,在弹出的“打开”对话框中,浏览选取xsda.dbf数据表后单击【确定】按钮,同理添加数据表xscj.dbf、txl.dbf和djks.dbf。
12.将djks.dbf数据库表变为自由表。
步骤:
右键单击djks.dbf表的标题栏,选择命令,在弹出的“把表从数据库中移去还是从磁盘上删除?
”提示对话框中点击按钮,在弹出的“一旦表被移出数据库长表名和长字段名就不能用于索引或者程序。
继续吗?
”提示对话框中点击
按钮。
13.为xsda.dbf表的学号字段设置字段的显示标题为:
入学年份和登记顺序。
步骤:
右键单击xsda.dbf表的标题栏,选择命令,打开xsda.dbf表结构,单击“学号”字段,在“标题”中输入“入学年份和登记顺序”。
14.给txl.dbf表电话加注释为:
住宅电话或手机号码。
步骤:
打开并显示txl.dbf表结构,单击字段,在“注释”中输入“住宅电话或手机号码”。
15.对xsda.dbf表性别字段设置有效性规则为:
性别$"男女",提示信息为:
"性别必须为男或女",性别字段设置默认值为"男"。
步骤:
打开并显示xsda.dbf表结构,单击“性别”字段,设置字段有效性“规则”为
“信息”为:
,“默认值”为。
16.为xsda.dbf表按学号字段建立主索引、为xscj.dbf表按学号字段建立普通索引、为txl.dbf表按学号字段建立普通索引,以xsda.dbf为父表,以xscj.dbf、txl.dbf为子表分别建立永久性联系。
设置两个联系的更新规则为级联,删除规则为限制,插入规则为限制。
步骤:
打开xsda.dbf表结构,单击“索引”面板,设置索引名字为“学号”,索引类型为,索引表达式为,单击【确定】按钮。
同理为xscj.dbf表、txl.dbf
表建立索引。
在xsda.dbf表的学号索引字段上到xscj.dbf表学号索引字段上,同理为xsda.dbf表及txl.dbf表建立永久性联系。
单击菜单栏的【数据库】-命令,(双击/单击)表间关系,在弹出“编辑关系”对话框中,单击按钮,按照题目要求设置参照完整性规则,单击【确定】按钮。
评阅时间:
四视图与查询
·作业部分·
1.查询设计器和视图设计器的主要不同表现在于:
A.查询设计器有"更新条件"选卡,没有"查询去向"
B.查询设计器有"更新条件"选卡,有"查询去向"
C.视图设计器有"更新条件"选卡,有"查询去向"
D.视图设计器有"更新条件"选卡,没有"查询去向"
2.查询设计器的“筛选”选项卡用来指定查询的:
A.条件B.字段C.文件D.数据项
3.查询文件的扩展名:
A.prgB.qprC.dbcD.pjx
4.使用菜单操作方法打开一个在当前目录下已经存在的查询文件zz.qpr后,在命令窗口生成的命令是:
A.openqueryzz.qprB.modifyqueryzz.qpr
C.doqueryzz.qprD.createqueryzz.qpr
5.在VF中,是一个定制的虚拟表。
A.视图B.数据表C.查询D.报表
6.下面关于查询描述正确的是:
A.可以使用CREATEVIEW打开查询设计器。
B.使用查询设计器可以生成所有的SQL查询语句。
C.使用查询设计器生成的SQL语句存盘后将存放在扩展名为QPR的文件中。
D.使用DO语句执行查询时,可以不带扩展名。
·实验部分·
实验题目:
查询和视图
实验目的:
通过本次实验,让学生掌握创建查询以及视图的方法。
实验内容及实验步骤:
1.按如下要求创建查询:
1)查询结果包括rcda.dbf表中的全部字段。
步骤:
单击菜单栏的【文件】-【新建】-【查询】-【新建文件】命令,在弹出的“打开”对话框中选择数据表,单击【确定】按钮,在弹出的“添加表或视图”对话框中单击【关闭】按钮,选择“字段”面板的按钮,将所有“可用字段”添加到“选定字段”中去。
2)查询条件为:
男党员。
步骤:
选择“筛选”面板,在字段名下拉列表中选择“性别”字段,条件为“=”,实例设置为,逻辑设置为,在字段名下拉列表中选择“党员否”字段,条件为“=”,实例设置为。
3)查询结果按姓名降序排序。
步骤:
选择“排序依据”面板,在“选定字段”中双击字段,将其添加到“排序条件”中去,并单击排序选项中单选按钮。
4)要求将查询结果保存到新表ndy.dbf中。
步骤:
单击菜单栏的【查询】-【查询去向】命令,在弹出的“查询去向”对话框中,选择输出去向为,输入表名,单击【确定】按钮。
5)点击“执行”按钮执行查询。
步骤:
单击菜单栏的【查询】-命令,或工具栏的按钮,运行查询。
6)查询文件的保存名字为my_cx1。
步骤:
单击菜单栏的【文件】-命令,在弹出的“另存为”对话框中输入文档名字为,单击【保存】按钮。
2.按如下要求在数据库中创建一个本地视图:
1)视图的查询结果包括学生表中(不包