VFP 上机练习题答案说明:操作时用到的文件及要保存的文件均在与题号对应的文件夹内(下)注意操作题要求运行程序的地方必须都运行一下,否则可能影响得分。
蓝色的文本为操作说明、提示或参考操作答案,红色的文本为原题中题干说明可能有些不合适或错误。
本文中给出的说明或参考代码均在VFP 环境下测试通过,仅供参考,不是题目的唯一答案,如有不对的地方,请指正。
基本操作第一题1.在指定文件夹下建立数据库BOOKAUTH,并把表BOOKS 和表AUTHORS 文件添加到该数据库中。
(建立数据库后,执行modi data 命令打开数据库设计器,然后在窗口空白处右单击选择“添加表”即可,后面各个题目中类似操作不再重复说明。
)2.为AUTHORS 表建立主索引,索引名为“PK”,索引表达式为“作者编号”(在表设计器中,在索引字段上选择“索引”下拉框中的箭头,有具体升序或降序要求时选择方向向上或向下的箭头,无要求是默认选择升序即可;若索引表达式不是字段名字本身,可以在此基础上再点击“索引”标签,找到具体的索引条目,输入索引标记名和索引表达式即可)。
为BOOKS 建立两个普通索引,第一个索引名为“PK”,索引表达式为“图书编号”,第二个索引名和索引表达式均为“作者编号”。
3.建立表AUTHORS 和表BOOKS 之间的永久性联系。
(参见课本3.7.3 节的第二部分,AUTHORS 主表的PK 到BOOKS 子表的“作者编号”,鼠标拖拽即可建立一对多联系,不要反了)第二题1.在指定文件夹下打开数据库文件SCORE_MANAGER,该数据库中有3 个表STUDENT、SCORE1 和COURSE,根据已经建立好的索引,建立表间的联系(寻找两表间相同的索引名称,建立一对一的连接,或一个主索引和一个普通索引建立一对多连接,这里指的是永久联接)。
2.为COURSE 表增加字段,开课学期(N,2,0)。
(直接在数据库设计器中右单击表,选择修改,在表结构设计器中添加即可)3.为SCORE1 表中的“成绩”字段设置字段有效性规则:成绩>=0,出错信息:“成绩必须大于或等于0”。
(练习题中给定的数据表中已经设置了,设置字段有效性规则时注意在表设计器中首先正确选择字段再进行设置,记录有效性操作类似。
注意信息内容要字符串界定符)第三题根据以下要求,完成基本操作,所需文件在指定文件夹下:1.从SCORE_MANAGER 数据库中删除名为NEW_VIEW1 的视图(在数据库设计器中,右单击视图,选择删除即可)。
2.用SQL 命令向SCORE1 表中插入一条记录:学号为“993503433”、课程号为“0001”、成绩为99。
(在VFP 命令窗口中执行命令:insert into score1 (学号,课程号,成绩) values("993503433","0001",99),不用考虑打开表)3.打开表单MYFORM,向其中添加一个“关闭”命令按钮(名称为Command1)(打开表单后,设置关闭按钮Command1 的caption 为:关闭),表单运行时,单击此按钮关闭表单。
(设置关闭按钮Command1 的单击事件程序代码为:thisform.release,后面的关闭表单按钮都要进行类似设置,并且执行一次,否则影响得分。
)第四题1.在指定文件夹下打开数据库文件college(modi data college),物理删除该数据库中的temp 表(在数据库设计器中右单击该表选择删除,在提示框中再选择删除,注意此操作要求物理删除表,所以不要选择移去,移去操作仅把表转换为自由表,而不是从磁盘上物理删除表),然后将三个自由表“教师表”、“课程表”和“学院表”添加到该数据库中。
2.为“课程表”和“教师表”分别建立主索引和普通索引,字段名和索引名均为“课程号”,并为两个表建立一对多的联系。
(参见课本3.7.3 节的第二部分)3.使用SQL 语句查询“教师表”中工资大于4500 的教师的全部信息,将查询结果按职工号升序排列,查询结果存储于文本文件one.txt 中,SQL 语句存储于文件two.prg 中。
SQL 命令: select * from 教师表 where 工资>4500 order by 职工号 to fileone.txt用modi comm 命令建立一个文件two.prg(注意写完整文件名字,否则可能不得分),把上面的语句输入后保存即可。
第五题在指定文件夹下打开数据库“宾馆”,完成以下操作:1.打开“客户”表,为“性别”字段增加约束性规则:性别只能取“男”或“女”,默认值为“女”,表达式为性别$“男女”。
2.为“入住”表创建一个主索引,索引名为fkkey,索引表达式为“客房号+客户号”。
(在表设计器中建立入住字段的索引,在索引标签中设置其为主索引,在索引名处输入fkkey,在表达式处输入:客房号+客户号)3.根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系(参见课本3.7.3 节的第二部分),并根据要求建立相应的普通索引,索引名与创建索引的字段名相同,升序排序。
第六题本题应该归入简单应用题根据以下要求,完成基本操作,所需文件在指定文件夹下:1.打开表单one,向其中添加一个组合框(Combo1),并将其设置为下拉列表框(设置Combo1 的style 属性)。
设置组合框的RowSource 和RowSourceType 属性,使组合框Combo1 的显示条目为“上海”、“北京”(不要使用命令方式指定这两个属性),显示情况如下图所示(设置Combo1 的RowSource 属性值为“上海,北京” ----注意不要输入双引号啦!,RowSourceType 属性设置为1-值)。
2.向表单one 中添加两个命令按钮“统计”和“退出”,名称分别为Command1 和Command2 (Command1 命令按钮的caption 属性设置为“统计”,Command2 命令按钮的caption 属性设置为“退出”)。
为“退出”命令按钮的Click 事件编写一条命令,执行该命令时关闭并释放表单(Command2 命令的单击事件程序为:thisform.release)。
3.为表单one 中的"统计"命令按钮的Click 事件编写一条SQL 命令,执行该命令时,将“歌手表”中所有"歌手出生地"与组合框(Combo1)指定的内容相同的歌手的全部信息存入自由表birthplace 中。
(select * from 歌手表 where 歌手出生地=bo1.value into table birthplace)第七题根据以下要求,完成基本操作,所需文件(或要保存文件)均在指定文件夹下:1.在指定文件夹下建立一个名为"外汇管理"的数据库。
(create data 外汇管理)2.将表currency_sl和表rate_exchange添加到新建立的数据库中。
3. 将表rate_exchange 中" 买出价" 字段的名称改为" 现钞卖出价" 。
(modi strurate_exchange,或者在数据库设计器中右单击表rate_exchange,选择“修改”后在表设计器中修改)4.通过"外币代码"字段为表rate_exchange和currency_sl建立一对多永久联系(需要首先建立相关索引)。
(参见课本3.7.3节的第二部分)第八题在指定文件夹下完成如下操作:1. 创建一个名为"订单管理"的数据库,并将已有的employee 和orders 两个表添加到该数据库中。
新建一个名为customer 的表,表结构如下:客户号字符型(4)客户名字符型(36)地址字符型(36)执行Create customer 命令,在表设计器中设置以上字段;也可以使用SQL 命令直接建立:create table customer(客户号 C(4),客户名 C(36),地址 C(36))2. 为orders 表建立一个普通索引,索引名为je,索引表达式为"金额",降序索引。
3. 通过"客户号"分别为customer 表建立主索引,为orders 建立普通索引,索引名和索引表达式均为"客户号",通过"客户号"为customer 表和orders 表之间建立一个一对多的永久联系。
第九题在指定文件夹下完成如下操作:1. 创建一个名为"订单管理"的数据库,并将已有的employee、orders 和customer 三个表添加到该数据库中。
2. 为orders 表建立一个普通索引,索引名为nf,索引表达式为"year(签订日期)"。
为employee 表建立主索引,为orders 建立普通索引,索引名和索引表达式均为"职员号"。
通过"职员号"在employee 表和orders 表之间建立一个一对多的永久联系。
(参见课本3.7.3 节的第二部分)3. 为上述建立的联系设置参照完整性约束:更新规则为"限制",删除规则为"级联",插入规则为"限制"。
(参见课本3.8.3 节)第十题在指定文件夹下,完成如下操作:1. 将当前文件夹下的自由表CLASS(班级表)和TEACHER(教师表)添加到学生数据库SDB 中;为班级表CLASS 创建一个主索引和普通索引(升序),主索引的索引名和索引表达式均为班级号;普通索引的索引名和索引表达式均为班主任号。
为教师表TEACHER 创建一个主索引,索引名和索引表达式均为教师号;2. 通过"班级号"字段建立班级表CLASS 和学生表STUDENT 表间的永久联系。
通过班级表CLASS 的"班主任号"字段与教师表TEACHER 的"教师号"字段建立班级表CLASS 和教师表TEACHER 间的永久联系;(参见课本3.7.3 节的第二部分)3.为以上建立的两个联系设置参照完整性约束:更新规则为"级联";删除规则为"限制";插入规则为"限制"。
(参见课本3.8.3 节)第十一题根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:1.在指定文件下建立数据库BOOK,并把数据表rsgz 添加到该数据库中。