VFP数据库与程序设计
作业与实验报告
学号:
姓名:
专业:
教师:
20##年3月
前言
本册是《Visual FoxPro 6.0数据库与程序设计》的配套作业与上机练习,全册共分9章。
编者
20##年3月
一 VFP基础知识
·作业部分·
1.下列正确的字符型常数是:
A."ABCD"1234 B."ABCD'1234" C."ABCD123"EFG D."ABCD'123"EFG
2.使用命令dime mm(2,3)定义的数组,包含的数组元素的个数为:
A.2个 B.3个 C.5个 D.6个
3.可以链接或嵌入OLE对象的字段类型是:
A.通用型 B.备注型 C.字符型 D.任何类型
4.Visual FoxPro 数据库管理系统支持的数据模型是:
A.网状型 B.共享型 C.层次型 D.关系型
5.关于空字符串的正确说法是:
A.定界符内只包含一个空格 B.定界符内只包含有空格
C.空字符串的长度为0 D.空字符串的长度取决于定界符内空格的个数
6.数据库管理系统的英文缩写是:
A.DSS B.DBS C.DBMS D.DBA
7.数据库系统的核心是:
A.编译系统 B.操作系统 C.数据库 D.数据库管理系统
8.通用字段G和备注字段M在表中的宽度都是:
A.2个字节 B.4个字节 C.8个字节 D.10个字节
9.在下面的Visual FoxPro表达式中,不正确的是:
A.{^20##-03-01 10:10:10 AM}-10 B.{^20##-03-01}-date( )
C.{^20##-03-01}+date( ) D.{^20##-03-01}+1000
10.下列字符串是非法的变量名的有:
A.GYBF2 B.4KU C.A_BG D.姓名
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.4 B.3 C.2 D.1
14.E=AT("ABCD","ABEFCD") 变量 E 的值是:
A.3 B.2 C.1 D.0
15.表达式 ?LEN(LEFT("沈阳农业大学",4))的值是:
A.沈阳 B.2 C.4 D.农业
16.执行命令DIMENSION M(4,2)之后,数组各元素的初值是:
A.0 B..F. C..T. D.空值
17.表达式 ?IIF(5>3,1,0)的值是:
A.1 B.0 C.5 D.3
18.E=SPACE(5)-SPACE(5) 变量 E 的值空格个数是:
A.10 B.5 C.0 D.1
19.表达式: ?"dc"$"abcdef" 的值是:
A..T. B..F. C.dc D.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.modi stru B.modify command C.list structure D.disp stru
3.在当前记录前插入一条记录的正确命令是:
A.inse B.insert before C.append D.append before
4.显示第3条记录的命令是:
A.list for recno( ) B.disp 3 C.list for 3 D.disp reco 3
5.删除当前记录的正确命令是:
A.dele B.delete for record C.delete next D.delete rest
6.向表中追加一条空记录的命令:
A.append blank B.append C.insert blank D.insert
7.将rcda表中非党员男性记录的工资加100元替换的正确命令是:
A.repl 工资现状 with 工资现状+100 for 党员否=F and 性别="男"
B.repl 工资现状 with 工资现状+100 for not 党员否 and 性别="男"
C.repl 工资现状 with 工资现状+100 for 党员否=F or 性别="男"
D.repl 工资现状 with 工资现状+100 for not 党员否 or 性别="男"
8.将xscj表中的男生的性别改为字母"M",成绩改为80分的正确命令是:
A.repl 性别 with "M",成绩 with 80 for 性别="男"
B.repl 性别 with "M" 成绩 with 80 for 性别=男
C.repl 性别 with "M",成绩 with 80
D.repl 性别 with M,成绩 with 80 for 性别="男"
9.显示rcda表中1968年生人的记录命令是:
A.list for year(出生日期)=1968 B.list for year(出生日期)=68
C.list for day(出生日期)=1968 D.list for day(出生日期)=1968
10.显示rcda表中所有编号前两个字符为"bj"记录的命令是:
A.disp for substr(编号,2,2)="bj" B.disp for left(编号,2)="bj"
C.list for 编号=bj D.list for right(编号,2)="bj"
11.删除名字内有"宁"字的记录的正确命令是:
A.delete for 姓名="宁" B.dele for substr(姓名,3,2)="宁"
C.dele for "宁"$姓名 D.delete for 姓名$"宁"
12.清除主窗口屏幕的命令是:
A.CLEAR B.CLEAR ALL C.CLEAR SCREEN D.CLEAR WINDOWS
·实验部分·
实验题目:数据表的建立及数据表操作
实验目的:通过本次实验,让学生掌握VFP数据表的建立,掌握创建项目、在项目中创建数据库、自由表和数据库表的相互转换、数据表的基本操作与维护功能。
实验内容及实验步骤:
1.建立名为xsda.dbf的数据表:
表1 — 结构定义
表2 — 数据表内容
步骤:单击菜单栏的【文件】-【新建】-【表】-【新建文件】命令,在弹出的“创建”对话框中输入表名 ,单击【保存】按钮,在弹出的“表设计器”对话框中按照表1定义表结构,单击【确定】按钮,在弹出的“现在输入数据记录吗?”对话框中选择【是】,按照表2输入数据表内容后关闭该表窗口。
2.修改数据:将第三条记录姓名字段值“刘虹”改为“刘红”。
步骤:单击菜单栏的【显示】- 命令,浏览数据表,修改姓名字段。
3.输入白静的简历为:20##年被评为校优秀干部。
步骤: (单击/双击)白静的简历字段,在弹出的“xsda.简历”对话框中输入“20##年被评为校优秀干部”后关闭该窗口。
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.copy to xs B.copy file xs to C.copy stru to xs D.copy to stru
2.在VFP中进行参照完整性设置时,要想设置成:当更改父表中的主关键字段或候选关键字段时,自动更改所有相关子表记录中的对应值,应选择:
A.限制 B.忽略 C.级联 D.级联或限制
3.按出生月份进行索引的正确命令是:
A.index on year(出生日期) to csrq B.index on left(dtoc(出生日期),2) to csrq
C.index on 出生日期 to csrq D.index on month(出生日期) to csrq
4.下列哪个统计记录个数的命令是正确的:
A.count() B.count on 学号 to ss
C.reccount to ss D.count to ss
5.不允许记录中出现重复索引值的索引是:
A.主索引 B.主索引、候选索引和普通索引
C.主索引、候选索引 D.主索引、候选索引和唯一索引
6.在VFP中打开数据库的命令是:
A.open data 数据库名 B.use 数据库名 C.use data 数据库名 D.open 数据库名
7.可以对字段设置默认值的表是:
A.是数据库的表 B.是自由表
C.自由表或数据库表 D.视图
8.要控制两个表中数据完整性和一致性可以设置“参照完整性”,要求两个表:
A.是同一个数据库中的表 B.不同数据库中的两个表
C.两个自由表 D.一个是数据库中的表,另一个是自由表
9.Visual Foxpro 参照完整性规则不包括:
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.prg B.qpr C.dbc D.pjx
4.使用菜单操作方法打开一个在当前目录下已经存在的查询文件zz.qpr后,在命令窗口生成的命令是:
A.open query zz.qpr B.modify query zz.qpr
C.do query zz.qpr D.create query zz.qpr
5.在VF中, 是一个定制的虚拟表。
A.视图 B.数据表 C.查询 D.报表
6.下面关于查询描述正确的是:
A.可以使用CREATE VIEW打开查询设计器 。
B.使用查询设计器可以生成所有的SQL查询语句。
C.使用查询设计器生成的SQL语句存盘后将存放在扩展名为QPR的文件中。
D.使用DO语句执行查询时,可以不带扩展名。
·实验部分·
实验题目:查询和视图
实验目的:通过本次实验,让学生掌握创建查询以及视图的方法。
实验内容及实验步骤:
1.按如下要求创建查询:
1) 查询结果包括rcda.dbf表中的全部字段。
步骤:单击菜单栏的【文件】-【新建】-【查询】-【新建文件】命令,在弹出的“打开”对话框中选择数据表 ,单击【确定】按钮,在弹出的“添加表或视图”对话框中单击【关闭】按钮,选择“字段”面板的 按钮,将所有“可用字段”添加到“选定字段”中去。
2) 查询条件为:男党员。
步骤:选择“筛选”面板,在字段名下拉列表中选择“性别”字段,条件为“=”,实例设置为 ,逻辑设置为 ,在字段名下拉列表中选择“党员否”字段,条件为“=”,实例设置为 。
3) 查询结果按姓名降序排序。
步骤:选择“排序依据”面板,在“选定字段”中双击 字段,将其添加到“排序条件”中去,并单击排序选项中 单选按钮。
4) 要求将查询结果保存到新表ndy.dbf中。
步骤:单击菜单栏的【查询】-【查询去向】命令,在弹出的“查询去向”对话框中,选择输出去向为 ,输入表名 ,单击【确定】按钮。
5) 点击“执行”按钮执行查询。
步骤:单击菜单栏的【查询】- 命令,或工具栏的 按钮,运行查询。
6) 查询文件的保存名字为my_cx1。
步骤:单击菜单栏的【文件】- 命令,在弹出的“另存为”对话框中输入文档名字为 ,单击【保存】按钮。
2.按如下要求在数据库中创建一个本地视图:
1) 视图的查询结果包括学生表中(不包括简历和照片)的全部字段。
步骤:单击菜单栏的【文件】-【新建】-【数据库】-【新建文件】命令,单击【保存】按钮,创建一个数据库,单击菜单栏的【文件】-【新建】-【视图】-【新建文件】命令,在弹出的“添加表或视图”对话框中,单击【其他】按钮,在弹出的“打开”对话框中选择表 ,单击【关闭】按钮,关闭“添加表或视图”对话框。在“字段”面板中双击选择 字段,将其添加到可用字段中。
2) 条件为:管理系男生。
步骤:选择“筛选”面板,在字段名下拉列表中选择“性别”字段,条件为“=”,实例设置为 ,逻辑设置为 ,在字段名下拉列表中选择“系别”字段,条件为“=”,实例设置为 。
3) 视图查询结果按学号降序排序。
步骤:选择“排序依据”面板,在“选定字段”中双击 字段,将其添加到“排序条件”中去,并单击排序选项中 单选按钮。
4) 更新源数据表中的姓名字段。
步骤:单击“更新条件”面板,设置关键字段(带小钥匙的)为 ,设置可更新字段(带铅笔的)为 ,选择 复选框。
5) 点击“执行”按钮执行查询,查验结果正确否。
步骤:单击菜单栏的【查询】- 命令,或工具栏的 按钮,运行查询。
6) 视图保存名字为:my_st1。
步骤:单击菜单栏的【文件】- 命令,在弹出的“另存为”对话框中输入文档名字为 ,单击【保存】按钮。
评阅时间:
五 结构化查询语言SQL
·作业部分·
1.在SQL查询时,使用where子句指出的是:
A.查询目标 B.查询结果 C. 查询条件 D.查询视图
2.在SQL查询时,使用order by 子句指出的是:
A.查询目标 B.排序依据 C.查询条件 D.查询视图
3.在SQL语句中,与表达式"工资 BETWEEN 1210 AND 1240"功能相同的表达式是:
A.工资>=1210 AND 工资<=1240 B.工资>1210 AND 工资<1240
C.工资<=1210 AND 工资>1240 D.工资>=1210 OR 工资<=1240
4.在SQL语句中,与表达式"仓库号 NOT IN("wh1","wh2")"功能相同的表达式是:
A.仓库号="wh1" AND 仓库号="wh2" B.仓库号!="wh1" OR 仓库号# "wh2"
C.仓库号< >"wh1" OR 仓库号!="wh2" D.仓库号!="wh1" AND 仓库号!="wh2"
5.在Visual FoxPro中,使用SQL命令将学生表STUDENT中的学生年龄AGE字段的值增加1岁,应该使用的命令是:
A.REPLACE AGE WITH AGE+1 B.UPDATE STUDENT AGE WITH AGE+1
C.UPDATE SET AGE WITH AGE+1 D.UPDATE STUDENT SET AGE = AGE+1
6.使用SQL语句从表STUDENT中查询所有姓王的同学的信息,正确的命令是:
A.SELECT * FROM STUDENT WHERE LEFT(姓名,2)= "王"
B.SELECT * FROM STUDENT WHERE RIGHT(姓名,2)= "王"
C.SELECT * FROM STUDENT WHERE TRIM(姓名,2)= "王"
D.SELECT * FROM STUDENT WHERE STR(姓名,2)= "王"
7.SQL是哪几个英文单词的缩写?
A.Standard Query Language B.Structured Query Language
C.Select Query Language D.以上都不是
8. 使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当:
A.使用WHERE子句 B.在GROUP BY后面使用HAVING子句
C.先使用WHERE子句,再使用HAVING子句
D.先使用HAVING子句,再使用WHERE子句
9.在SQL语言中建立表的命令是:
A.UPDATE B.ALTER TABLE C.CREATE TABLE D.SELECT
10.删除表的命令是:
A.CREATE TABLE B.DROP TABLE C.ALTER TABLE D.DELETE TABLE
11.SQL语言是:
A.高级语言 B.结构化查询语言 C.第三代语言 D.宿主语言
12.SQL-SELECT 的功能是:
A.定义 B.查询 C.修改 D.控制
从13 到16 题使用如下数据:
部门表
商品表
13.SQL语句: SELECT 部门号,MAX(单价*数量) FROM 商品表 GROUP BY 部门号,查询结果有几条记录?
A.1 B.4 C.3 D.10
14.SQL语句 :SELECT 部门表.部门号,部门名称,SUM(单价*数量) FROM 部门表,商品表 WHERE部门表.部门号 = 商品表.部门号 GROUP BY 部门表.部门号
查询结果是
A.各部门商品数量合计 B.各部门商品金额合计
C.所有商品金额合计 D.各部门商品金额平均值
15.SQL语句:SELECT 部门表.部门号,部门名称,商品号,商品名称,单价FROM 部门表,商品表 WHERE部门表.部门号 = 商品表.部门号ORDER BY 部门表.部门号 DESC,单价
查询结果的第一条记录的商品号是:
A.0101 B.0202 C.0110 D.0112
16.SQL语句:SELECT 部门名称 FROM 部门表 WHERE 部门号 IN(SELECT 部门号 FROM 商品表 WHERE 单价 BETWEEN 420 AND 1000)查询结果是
A.家用电器部、电话手机部 B.家用电器部、计算机部
C.电话手机部、电视录摄像机部 D.家用电器部、电视录摄像机部
·实验部分·
实验题目:结构化查询语言SQL
实验目的:通过本次实验,让学生掌握SQL语句的用法,并能用其定义表、修改表的结构及实现数据查询。
实验内容及实验步骤: 数据表xs.dbf结构
1.用SQL 语句创建表xs.dbf。
命令:
2.把xs.dbf表学号字段的宽度改为4。(注意学号字段的类型为C)。
命令:
3.删除奖惩,照片和出生日期三个字段。
命令:
4.增加党员否字段,党员否字段定义为逻辑类型,长度为1。
命令:
5.为xs.dbf 表增加2条新记录:学号、姓名、总分、年龄四个字段内容分别为(0001、tom、89.5、20),(0003、lily、88、19)。
命令:
6.把姓名为lily的同学名字改为mali。(用update命令)。
命令:
7.逻辑删除姓名为tom的记录。
命令:
8.查询xsda.dbf表中男同学的全部字段内容,并按成绩字段值降序排列。
命令:
9.查询xsda.dbf表中学号、姓名、年龄和成绩四个字段的内容,查询条件为成绩在75和85分之间的(包括75和85分的)。
命令:
评阅时间:
六 结构化程序设计
·作业部分·
1.定义变量为全局变量的命令是:
A.public B.private C.release D.declare
2.结构化程序设计的三种基本结构是:
A.选择、循环和嵌套结构 B.选择、循环和模块结构
C.选择、循环和递归结构 D.顺序、选择和循环结构
3.运行程序p1.prg的命令是:
A.do command p1 B.do file p1 C.do p1 D.do form p1
4.当内存变量与字段变量同名时,内存变量名前一定要加:
A.N. B.M. C. F. D. D.
5.可以将Loop作为有效命令使用的程序结构是:
A.if…endif B.do while …enddo C.do case…endcase D.text…endtext
6.下面程序执行后结果是 。
t=1
s=0
Do while t<9
s=s+2
i=i+2
Enddo
?s
A.4 B.6 C.8 D.10
7.下面程序执行后结果是 。
t="abcdefg"
i=1
Do while i<6
??substr(t,6-i,1)
i=i+1
enddo
A.abcde B.edcba C.abcdefg D.gfedcba
·实验部分·
实验题目:结构化程序设计
实验目的:通过本次实验,让学生掌握程序文件的建立、修改和运行,程序设计常用命令,程序的顺序、选择和循环结构。
实验内容及实验步骤:
1.程序功能:彻底删除 xsda.dbf表第三条记录。
use xsda
dele
use
2.程序功能:在学生.DBF数据表中查询任意一名学生,找到用DISP显示其信息,找不到则显示"无此人"。
use 学生
"请输入任意学生姓名:" to a
disp
? "无此人"
use
3.程序功能:查询并显示xsda表中所有姓刘的记录。
use xsda
scan left(姓名,2)= "刘"
endscan
use
4.程序功能:任意输入一个数,计算这个数的阶乘(N的阶乘为1*2*3*…*N)。
"请输入一个数" to n
i=
s=
do while
s=s*i
enddo
?n
5.程序功能:输出九九乘法口诀表。
Clear
for i=1 to
for j=1 to
?? +“*”+ +“=”+ +space(3)
next
next
评阅时间:
七 表单设计及其应用
·作业部分·
1.Visual Foxpro 系统中的表单扩展名是:
A.scx B.fox C.mpr D.cdx
2.要在表单中声明一个公用变量Public A,通常写在 事件中。
A.Load B.Activate C.Init D.Valid
3.下面哪一个属性能设置表单的背景颜色?
A.ControlBox B.Caption C.BorderStyle D.Backcolor
4.下面哪一个属性能设置表单在窗口内居中?
A.AlwaysOnTop B.Desktop C.Controls D.AutoCenter
5.设置计时器时间间隔的属性为:
A.Interval B.Caption C.Value D.AutoCenter
6.新创建的表单默认标题为Form1,为了修改表单的标题,应设置表单的:
A.Name属性 B.Caption属性 C.Closable属性 D.AlwaysOnTop属性
7. 有关控件对象的dblClick事件的正确叙述是:
A.用鼠标双击对象时引发 B.用鼠标单击对象时引发
C.用鼠标右键单击对象时引发 D.用鼠标右键双击对象时引发
8.下面关于列表框和组合框的叙述中,哪一个是正确的?
A.列表框和组合框都可以设置成多重选择
B.列表框可以设置成多重选择,而组合框不能
C.组合框可以设置成多重选择,列表框不能
D.列表框和组合框都不能设置成多重选择
9.组合框控件当style属性为0,表示为下拉组合框,为2表示下拉列表框,其中 可以从列表中选择,也可以在编辑框中输入。
A.下拉组合框 B.下拉列表框 C.都不可以 D.都可以
10.用于指定列表框或组合框数据项的数据源类型的属性是:
A.RowSourceType B.ControlSource C.RowSource D.ControlSourceType
11.在Visual FoxPro中,为了将表单从内存中释放(清除),可将表单中退出命令按钮的Click事件代码设置为:
A.ThisForm.Refresh B.ThisForm.Delete
C.ThisForm.Hide D.ThisForm.Release
12.关闭当前表单的程序代码是ThisForm.Release,其中的Release是表单对象的:
A.标题 B.属性 C.事件 D.方法
13.下列关于页框控件的说明哪个是错误的?
A.页框控件是包含页面(page)的容器对象。
B.PageCount属性指定一个页框对象所包含的页对象数目,取值范围为0—99。
C.页面只能随页框一起在表单中移动。
D.页面本身不是一种容器,页面上不可以再包含其它控件。
14.在页框控件第二页上有一名为label1的标签,在第二页的Activate事件中改变标签的内容为“你好” 的代码为(两个答案):
A.thisform.pageframe1.page2.label1.caption=”你好”
B.this.label1.caption=”你好”
C.thisform.label1.caption=”你好”
D.this.caption=”你好”
15.指定如何对图像控件进行尺寸调整的属性为:
A.AutoSize B.Stretch C.FontSize D.ControlSource
16.刷新表单控件中的显示值的方法是:
A.Refresh B.Release C.AlwayOnTop D.RealOnly
·实验部分·
实验一:
实验题目:动画文字表单
实验目的:通过本次实验让学生掌握表单、标签、计时器、命令按钮控件的使用,掌握随机函数rand( )的使用方式。
运行界面:
实验内容及实验步骤:
1.表单的标题为“动画文字”,运行时总在最前面且自动居中。
步骤:单击菜单栏的【文件】-【新建】-【表单】-【新建文件】命令,在“属性窗口”中设置 属性为“动画文字”,设置 属性为“.T.”。
2.一个标签控件,文字内容为“动画文字”,标签大小自动适应文字大小。
步骤:在表单控件中选择 控件后在表单上单击鼠标,在“属性窗口”中设置
属性为“动画文字”,设置 属性为“.T.”。
3.两个命令按钮控件,内容分别为:开始、停止。
步骤:在表单控件中选择 控件后在表单上单击鼠标,在“属性窗口”中设置
属性为“开始”,同理添加“结束”按钮。
4.一个计时器控件,要求计时器0.3秒被触发一次,计时器在运行时不可用(即文字不动)。
步骤:在表单控件中选择 控件后在表单上单击鼠标,在“属性窗口”中设置
属性为“300”,设置 属性为“.F.”。
5.点击开始按钮文字开始移动。
步骤: 双击“开始”按钮,在弹出的窗口中输入程序
6.点击停止按钮文字停止变化。
步骤:双击“停止”按钮,在弹出的窗口中输入程序
7. 要求文字向上移动,每次移动10个象素,并实现边移动边变色。
步骤:双击计时器控件,在弹出的窗口中输入程序
8.以名为my_form1保存并运行表单。
步骤:单击菜单栏的【文件】-【保存】命令,在弹出的“另存为”对话框输入文件名为
,单击菜单栏的【表单】-【执行表单】命令,运行表单程序。
实验二:
实验题目:字体设置表单
实验目的:通过本次实验部分让学生掌握文本框、复选框、列表框、组合框和微调按钮控件的使用,掌握表单释放命令thisform.release的使用方法。
运行界面:
实验内实验步骤:
1.一个文本框,内容为“字体设置”,字体大小为18,颜色为红色。
步骤:单击菜单栏的【文件】-【新建】-【表单】-【新建文件】命令,在表单控件中选择 控件后在表单上单击鼠标,在“属性窗口”中设置 属性为“字体设置”,设置 属性为“18”,设置 属性为“红色”。
2.一个列表框,内容为“宋体、楷体、隶书、华文彩云”。
步骤:在表单控件中选择 控件后在表单上单击鼠标,在“属性窗口”中设置
属性为“1-值”,设置 属性为“宋体,楷体,隶书,华文彩云”。
3.一个组合框,内容为“红色、绿色、蓝色、黑色、白色”。
步骤:在表单控件中选择 控件后在表单上单击鼠标,在“属性窗口”中设置
属性为“1-值”,设置 属性为“红色,绿色,蓝色,黑色,白色”。
4.四个复选框,内容分别为加粗、倾斜、下划线、删除线。
步骤:在表单控件中选择 控件后在表单上单击鼠标,在“属性窗口”中设置
属性为“加粗”,同理添加其它控件,并设置“倾斜、下划线、删除线”。
5.一个微调按钮,用于控制文本框中文字的字号,初始值为18,最小值为8,最大值为100,每次变化2。
步骤:在表单控件中选择 控件后在表单上单击鼠标,在“属性窗口”中设置
属性为“18”, 属性及 属性为“8”,
属性及 属性为“100”, 属性为“2”。
6.分别操作以上控件,使文本框文字根据选中内容发生变化。
步骤:1)双击“列表框”控件,在弹出的窗口中输入程序
2)双击“组合框”控件,在弹出的窗口中输入程序
3)双击“加粗”复选框,在弹出的窗口中输入程序
4)双击“倾斜”复选框,在弹出的窗口中输入程序
5)双击“下划线”复选框,在弹出的窗口中输入程序
6)双击“删除线”复选框,在弹出的窗口中输入程序
7)双击“微调按钮控件”,在弹出的窗口中更改其“过程”为“InteractiveChange”并输入程序
7.点击退出按钮,表单退出运行。
步骤:在表单控件中选择 控件后在表单上单击鼠标,在“属性窗口”中设置
属性为“退出”。双击“退出”按钮,在弹出的窗口中输入程序
8.以名为my_form2保存并运行表单。
步骤:单击菜单栏的【文件】-【保存】命令,在弹出的“另存为”对话框输入文件名为
,单击菜单栏的【表单】-【执行表单】命令,运行表单程序。
实验三:
实验题目:页框操作表单
实验目的:通过本次实验部分让学生掌握选项按钮组、编辑框、表格、页框和图像控件的使用;表单数据源的设置;表单刷新命令thisform.refresh的使用方法。
运行界面:
实验内容及实验步骤:
1.一个页框控件,有四页,名字分别为第一页、第二页、第三页、第四页。
步骤:单击菜单栏的【文件】-【新建】-【表单】-【新建文件】命令,在表单控件中选择 控件后在表单上单击鼠标,在“属性窗口”中设置 属性为“4”,在“页框”控件上单击鼠标右键,在弹出的菜单上选择【编辑】命令,在“属性窗口”设置 属性为“第一页”,单击页框的其它页,同理在属性窗口中设置“第二页、第三页、第四页”。
2.第一页:选项按钮和标签控件,选项按钮组内容为对、错,选择的结果显示在标签上。
步骤:在页框处于编辑状态时,单击页框的第一页,在表单控件中选择 控件后在表单上单击鼠标,在“属性窗口”中设置 属性为“空”(即运行时什么也不显示);在表单控件中选择 控件后在表单上单击鼠标,在“选项按钮组”控件上单击鼠标右键,在弹出的菜单上选择【编辑】命令,单击第一个选项按钮,在“属性窗口”中设置 属性为“对”,单击第二个选项按钮,在“属性窗口”中设置
属性为“错”。 双击命令按钮组,在optiongroup1的click事件中输入程序
3.第二页:文本框控件,单击此页随机在文本框中显示学生.dbf数据表中任意记录的姓名。
步骤:在页框处于编辑状态时,单击页框的第二页,在表单控件中选择文本框控件后在表单上单击鼠标添加控件;在表单上单击鼠标右键,在弹出的下拉菜单上选择【数据环境】命令,在弹出的打开窗口中选择数据表 ,单击【确定】按钮后关闭数据环境设计器;单击“文本框”控件在“属性窗口”中设置 属性为“学生.姓名”。双击页框的第二页,在弹出的窗口中输入程序
4.第三页:表格控件,在表格中显示学生.dbf数据表中所有字段的内容。
步骤:在页框处于编辑状态时,单击页框的第三页,在表单控件中选择 控件后在表单上单击鼠标,在“属性窗口”中设置 属性为“0-表”,设置
属性为“学生”。
5.第四页:利用图像控件显示任意一张图片,填充方式为等比填充。
步骤:在页框处于编辑状态时,单击页框的第四页,在表单控件中选择 控件后在表单上单击鼠标,在“属性窗口”中点击 属性右侧的浏览按钮,在弹出的“打开”对话框中浏览选取一个图片;设置 属性为“1-等比填充”。
6. 以名为my_form3保存并运行表单。
步骤:单击菜单栏的【文件】-【保存】命令,在弹出的“另存为”对话框输入文件名为
,单击菜单栏的【表单】-【执行表单】命令,运行表单程序。
评阅时间:
八 报表设计及其应用
·作业部分·
1.用"报表设计器"设计的报表文件的扩展名是:
A.MPR B.MNX C.FRX D.FRM
2.Visual Foxpro系统提供了4种常用报表布局它们是:
A.列报表、行报表、行列报表和多栏报表
B.列报表、行报表、多栏报表和一对多报表
C.列报表、行报表、一对一报表和一对多报表
D.列报表、行报表、多栏报表和单栏报表
3.使用“快速报表”时需要确定字段和字段布局,默认将包含:
A.第一个字段 B.前三个字段 C.空(即不包含字段)D.全部字段
4.为了在报表中加入一个表达式,应该插入一个:
A.表达式控件 B.域控件 C.标签控件 D.文件控件
5.报表设计器中不包含在基本带区的有:
A.标题 B.页标头 C.页脚注 D.细节
6.不能作报表数据源的是:
A.数据库表 B.视图 C.查询 D.自由表
·实验部分·
实验题目:报表设计
实验目的:通过本次实验,让学生掌握如何利用报表向导制作报表文件, 结合报表设计器细化报表,理解标题、页标头、细节、页注脚、总结等几个带区的用法,要学会控件的使用方法,重点掌握如何用域控件添加函数、计算数据。
实验内容及实验步骤:
1.利用快速报表制作如下报表。
1)字段选择为:学生.DBF表除简历和照片的全部字段。
步骤:单击菜单栏的【文件】-【新建】-【报表】-【新建文件】命令,单击菜单栏的【报表】- 命令,在弹出的“打开”对话框中,选择表“学生.dbf”,在弹出的“快速报表”对话框中,单击 按钮,在所有字段中双击
,字段到“选定字段”,单击【确定】按钮。
2)报表主标题:学生情况表,副标题:简单情况。
步骤:单击菜单栏的【报表】- 命令,在弹出的“标题/总结”对话框中,选择
复选框,单击【确定】按钮,在报表控件中选择 控件,在标题带区中单击鼠标,输入报表标题“学生情况表”,同理输入副标题“简单情况”。
3)报表每页底部显示“人数:N”,及制表日期。
步骤:在报表控件中选择 控件,在页注脚带区中单击鼠标,输入“人数:”,在报表控件中选择 控件,在弹出的“报表表达式”对话框中,单击表达式右侧浏览按钮,选择“学号”字段,单击【确定】按钮返回“报表表达式”对话框,单击 按钮,在弹出的“计算字段”对话框中选择 单选按钮,单击【确定】按钮返回“报表表达式”对话框,单击【确定】按钮;在报表控件中选择 控件,在弹出的“报表表达式”对话框中单击表达式右侧浏览按钮,单击“函数”中日期下拉菜单选择
函数单击【确定】按钮返回“报表表达式”对话框,单击【确定】按钮。
4)以名为my_bb1保存并预览报表。
步骤:单击菜单栏的【文件】-【保存】命令,在弹出“另存为”对话框中输入文件名
,单击菜单栏的【显示】- 命令,预览报表。
2.利用报表向导制作名为my_bb2的报表。
1)字段选择为:xsda.dbf和txl.dbf的学号、姓名、出生日期、地址、邮编和电话6个字段。
步骤:单击菜单栏的【文件】-【新建】-【报表】- 命令,在弹出的“向导选取”对话框中选择 ,单击【确定】按钮,在弹出的“一对多报表向导”对话框中设置“步骤1-从父表中选择字段”,单击“数据库和表”右侧的浏览按钮,选择表 ,单击【确定】按钮,在“可用字段”中双击
字段到右侧的选定字段中,单击【下一步】按钮,在“步骤2-从子表中选择字段”,单击“数据库和表”右侧的浏览按钮,选择表 ,单击【确定】按钮,在“可用字段”中双击 字段到右侧的选定字段中,单击【下一步】按钮,在“步骤3-为表建立链接”中,单击【下一步】按钮。
2)按学号降序排序。
步骤:在“步骤4-排序记录”中,单击 单选按钮并在“可用字段或索引标识”中双击 字段使其加入“选定字段”中,单击【下一步】按钮,在“步骤5-选择报表样式”对话框中,单击【下一步】按钮。
3)报表标题为:学生通讯录。
步骤:在“步骤6-完成”中,输入报表标题 ,选择“保存报表并在‘报表设计器’中修改报表”单选按钮,单击【完成】按钮,在弹出的“另存为”对话框中输入报表名 ,单击【保存】按钮。
4)并在组标头中添加一个标签控件:内容为“年龄”。
步骤:在报表控件中选择 控件,在组标头带区中单击鼠标左键,输入“年龄”。
5)在细节中对应年龄标签处添加一个域控件:20##-year( 出生日期 )。
步骤:在报表控件中选择 控件,在细节带区中单击鼠标左键,在弹出的“报表表达式”对话框中输入表达式 ,单击【确定】按钮。
6)页注脚内容为:2006学生通讯录。
步骤:;在报表控件中选择 控件,在页注脚带区中单击鼠标左键,输入“2006学生通讯录”。
7)保存并预览报表。
步骤:单击菜单栏的【文件】-【保存】命令,单击菜单栏的【显示】- 命令,预览报表。
评阅时间:
九 菜单设计与应用
·作业部分·
1.用"菜单设计器"设计的菜单文件扩展名是:
A.MPR B.MNX C.FRX D.FRM
2.经过编译后的菜单文件扩展名是:
A.MPR B.MNX C. FRX D.FRM
3.设置系统默认菜单的命令是:
A.set sysmenu on B.set sysmenu off
C.set sysmenu to default D.set default to sysmen
4.将一个预览成功的菜单存盘,再运行该菜单,却不能执行,这是因为:
A.没有放到项目中 B.没有生成 C.要用命令方式 D.要编入程序
·实验部分·
实验题目:菜单设计
实验目的:掌握下拉式菜单的设计与应用方法。
运行界面:
实验内容及实验步骤:
1.有四个主菜单项:数据统计、数据浏览、计算、退出。
步骤:单击菜单栏的【文件】-【新建】-【菜单】-【新建文件】-【菜单】命令,在弹出的菜单设计器中,设置菜单名称为“数据统计”,设置“结果”为 ,同理创建 “数据浏览”、“计算”、“退出”菜单项。
2.数据统计有三个子菜单项:求记录数、求平均、求总和。
步骤:单击“数据统计”菜单右侧 按钮,设置菜单项“求记录数”,设置“结果”为 ,同理设置“求平均”、“求总和”菜单项。
3.数据浏览有二个子菜单项:生日情况、女同学。
步骤:单击“菜单级”下拉子菜单中选择 ,返回编辑主菜单,单击“数据浏览”菜单右侧 按钮,设置菜单项“生日情况”,设置结果为 ,同理设置“女同学”菜单项。
4.计算有二个子菜单项:偶数和、阶乘。
步骤:单击“菜单级”下拉子菜单中选择 ,返回编辑主菜单,单击“计算”菜单右侧 按钮,设置菜单项“偶数和”,设置“结果”为 ,同理设置“阶乘”菜单项。
5.求记录数:求xsda.dbf表中性别为女的人数并输出。
步骤:单击“求记录数”右侧 按钮,在弹出的过程设计窗口中输入程序
6.求平均:求xscj.dbf表中高等数学的平均成绩并输出。
步骤:单击“求平均”右侧 按钮,在弹出的过程设计窗口中输入程序
7.求总和:求teacher.dbf表中女同志的月收入的总和存入变量x中并输出。
步骤:单击“求总和”右侧 按钮,在弹出的过程设计窗口中输入程序
8.生日情况:显示学生表中82年出生的记录。
步骤:单击“生日情况”右侧 按钮,在弹出的过程设计窗口中输入程序
9.女同学:显示学生表中女同学的信息。
步骤:单击“女同学”右侧 按钮,在弹出的过程设计窗口中输入程序
10.偶数和:利用for循环,计算100以内的偶数和。
步骤:单击“偶数和”右侧 按钮,在弹出的过程设计窗口中输入程序
11.阶乘:利用do while循环,计算6的阶乘。
步骤:单击“阶乘”右侧 按钮,在弹出的过程设计窗口中输入程序
12.退出:返回VFP系统菜单。
步骤:设置“退出”菜单项的“结果”为 ,在“退出”按钮右侧文本框中输入
13. 以名为my_cd1保存并运行菜单。
步骤:单击菜单栏中的【文件】-【保存】命令,在弹出的的“另存为”对话框中输入文件名为 ,单击菜单栏的【菜单】- 命令,在弹出的“生成菜单”对话框中单击 按钮,单击菜单栏的【程序】- 命令,在弹出的“运行”对话框中选择 程序文件,单击【运行】按钮。
评阅时间:
数据库课程设计总结报告设计题目学生成绩管理系统学生姓名学院信息学院专业班级指导教师20xx年7月日12目录1前言311开发背景31…
计算机与控制工程学院数据库原理及应用课程设计报告题目名称选课系统专业计科班级计1211学号20xx58501149姓名李利娟指导教…
漳州师范学院数据库课程设计个人日程管理系统姓名某某学号系别计算机科学与工程专业计算机科学技术专业年级08级指导教师陈志翔王桃发20…
数据库课程设计报告课题名称:图书管理统专业:信息与计算科学班级:信计071班小组人员:***一.背景资料在高校中,学生的数量较多,…
西安邮电大学数据库课程设计报告学院名称专业名称班级学号题目选课系统课程设计计算机学院软件工程软件110404113125郭亚涛乔平…
日期:______本月第___周本月剩___日姓名_______职位______对比上周(第____周)我做得好的有:1.____…
地面供暖施工第一章概述一、发展1、历史?古罗马的“火地”中国的“火炕”?明清故宫的热风道?19xx年巴克尔教授申请车船供暖专利?2…
20xx年个人工作总结本学年,我担任8(1),8(2)两个班的英语教学工作,在工作中从各方面严格要求自己,积极向老教师请教,结合本…
《VisualBasic程序设计基础》是五年制计算机专业的一门专业必修课程,也是该专业学生学的第一门专业课。VB分成两个学期进行教…
各位领导,大家好!我叫***,20xx年进入公司,20xx年成为**厂**车间**工段**班长,现将我们班安全标准化的相关工作总结…