1、二级 VISUAL+FOXPRO机试-36 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.创建一个名为 student的项目文件。(2)将下的数据库 std添加到新建的项目文件中。(3)打开学生数据库 std,将考生文件夹下的自由表 tea添加到“学生”数据库 std中:为教师表 tea创建一个索引名和索引表达式均为“教师编号”的主索引(升序)。(4)通过“班级编号”字段建立表 ass和表 dent表间的永久联系。(分数:30.00)_二、二 简单应用题(总题数:1,分数:40.00)2.(2)在考生文件夹下有一个数据库“医院”,其
2、中有数据库表“医生信息”,在考生文件夹下设计一个表单 ys,该表单为“医生信息”表的窗口输入界面,表单上还有一个标题为“关闭”的按钮。单击该按钮,则退出表单。(分数:40.00)_三、三 综合应用题(总题数:1,分数:30.00)3.根据上面的计算结果,生成一个新的表 xf(要求表结构的字段类型与 score表对应字段的类型一致),并且按“学分”升序排序,如果“学分”相等,则按“学号”降序排序。单击“退出”按钮,程序终止运行。(分数:30.00)_二级 VISUAL+FOXPRO机试-36 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1
3、.创建一个名为 student的项目文件。(2)将下的数据库 std添加到新建的项目文件中。(3)打开学生数据库 std,将考生文件夹下的自由表 tea添加到“学生”数据库 std中:为教师表 tea创建一个索引名和索引表达式均为“教师编号”的主索引(升序)。(4)通过“班级编号”字段建立表 ass和表 dent表间的永久联系。(分数:30.00)_正确答案:(启动 Visual FoxPro后,在命令窗口输入命令:CREATE PROJECT Student,新建一个项目管理器。(2)在项目管理器 student中,首先在“数据”选项卡中选择“数据库”,然后单击选项卡右边的“添加”命令按钮,
4、在系统弹出的“打开”对话框中,将考生文件夹中的数据库 std添加到项目管理器中,单击“确定”按钮。(3)展开“数据库”分支,选中 std数据库,然后单击选项卡中的“修改”命令按钮,打开数据库设计器,右键单击数据库设计器,选择“添加表”快捷菜单命令,系统弹出“打开”对话框,将考生文件夹下 tea自由表添加到数据库 std中。在数据库设计器中,右键单击数据库表 tea,在弹出的快捷菜单中选择“修改”菜单命令,进入 tea的数据表设计器界面,在“字段”选项卡中为“教师编号”选择“升序”排序,然后单击“索引”选项卡,此选项卡中的“索引名”和“索引表达式”默认“教师编号”,在“索引类型”的下拉框中,选择
5、“主索引”,单击“确定”按钮关闭表设计器。(4)在数据库设计器中,将 ass表中“索引”下面的“班级编号”主索引字段拖到 dent表中“索引”下面的“班级编号”索引字段上,建立了两个表之间的永久性联系。)解析:解析 本大题主要考查的是通过项目管理器来完成一些数据库及数据库表的操作,项目的建立可以直接在命令窗口输入命令来实现,数据库添加可以通过项目管理器中的命令按钮,打开相应的设计器直接管理。对数据表进行连接是在数据库设计器中完成。答案考生文件夹二、二 简单应用题(总题数:1,分数:40.00)2.(2)在考生文件夹下有一个数据库“医院”,其中有数据库表“医生信息”,在考生文件夹下设计一个表单
6、ys,该表单为“医生信息”表的窗口输入界面,表单上还有一个标题为“关闭”的按钮。单击该按钮,则退出表单。(分数:40.00)_正确答案:(1)在命令窗口中输入命令:MODIFY FILE my.txt,在文本编辑器窗口输入如下程序段:*文件 my.txt中的程序段*SELECT医生信息.职工号,医生信息.姓名,医生信息.职称,医生信息.部门,医生信息.年龄;FROM医生信息,处方信息,药信息;WHERE医生信息职工号:处方信息职工号;AND处方信息.药编号=药信息.药编号;药信息药名=“银翘片”*在命令窗口输入命令:DO my.txt,程序运行结果如图 3-19所示。*(2)从菜单栏里单击“文
7、件”并选择“新建”,或直接单击工具栏上的“新建”图标,在弹出的对话框中文件类型选择“表单”,单击对话框右边的“新建文件”图标,弹出了 Forml的表单设计器,单击工具栏上的“保存”图标,以 ys名保存在考生文件夹下;在表单设计器中,鼠标右键单击空白表单,选择“数据环境”快捷菜单命令,打开表单的数据环境,将数据表文件“医生信息”添加到数据环境中,将数据环境中的“医生信息”表拖放到表单中,可看到在表单中出现一个表格控件,此时实现了“医生信息”表的窗口式输入界面,最后在“表单控件”工具栏中,选中命令按钮控件添加到表单中,在“属性”对话框修改该命令按钮的 Caption属性值为“关闭”,双击该命令按钮
8、,在 Click事件中输入程序。*命令按钮 Commandl(关闭)的 Click事件代码*Thisform.Release*在命令窗口输入命令:DO FORM ys,运行表单,结果如图 3-20所示。*)解析:解析 本大题 1小题考查了 SQL联接查询,设计过程中主要注意两个表之间进行关联的字段。2小题考查的是在表单中设定数据环境,通过表单的数据环境快速建立表单控件和数据之间的联系。三、三 综合应用题(总题数:1,分数:30.00)3.根据上面的计算结果,生成一个新的表 xf(要求表结构的字段类型与 score表对应字段的类型一致),并且按“学分”升序排序,如果“学分”相等,则按“学号”降序
9、排序。单击“退出”按钮,程序终止运行。(分数:30.00)_正确答案:(在命令窗口输入命令:CREATE FORM myform,打开表单设计器:单击表单控件工具栏上的“命令按钮”控件图标,向表单添加两个命令按钮,选中第一个命令按钮(commarldl),在属性对话框中将命令按钮的 Name属性值修改为 cmdyes,将 Capdon属性值修改为“计算”,如图 3-21所示。以同样的方法,将第二个命令按钮(command2)的 Name属性值修改为 cmdno,将 Caption属性值修改为“关闭”。*双击命令按钮 cmdyes(计算),在 Click事件代码中编写如下程序段:*命令按钮 Co
10、mmandl(计算)的 Click事件代码*SET TALK OFFUSE scoreREPLACE ALL 学分 WITH 0GO TOPDO WHILE.NOT.EOF()IF 物理=60 THENREPIACE 学分 WITH 学分+2ENDIFIF 高数=60 THENMPLACE 学分 WITH 学分+3ENDIFIF 英语=60 THENREPLACE 学分 WITH 学分+4ENDIFSKIPENDDOSORT ON学分,学号/d TO xfSET tALK ON*双击命令按钮 cmdno(关闭),在 Chck事件代码中编写如下程序段:*命令按钮 Command2(关闭)的 Click事件代码*Thisform.Release*保存表单,在命令窗口输入命令:DO FORM myform。在运行的表单界面中单击“计算”命令按钮,系统将计算结果自动保存到新表 xf中。)解析:解析 本大题考查的主要是通过对表单控件编写事件代码,来完成数据的查询操作,一般来说命令按钮的单击事件代码是存放在 Click事件中,控件属性修改可以在属性对话框中完成,对于程序设计部分,可以通过 Do While.Enddo循环来依次判断数据表中的每条记录,然后通过条件语句进行分类统计。