1、国家二级 VF 机试-试卷 184 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)建立项目文件,文件名为 my。(2)将数据库 stu 添加到新建立的项目当中。(3)从数据库 stu 中永久性地删除数据库表“学生”,并将其从磁盘上删除。(4)修改表单 wen,将其 name 属性值改为 my。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)在考生文件夹下有一个数据库 stsc,其中有数据库表 student、score 和 cours
2、e。利用 SQL 语句查询选修了“C+”课程的学生的全部信息,并将结果按学号升序存放在 cplus.dbf 文件中(库的结构同student,并在其后加入课程号和课程名字段)。(2)在考生文件夹下有一个数据库 stsc,其中有数据库表student,使用报表向导制作一个名为 P1 的报表,存放在考生文件夹下。要求:选择 student 表中所有字段,报表样式为经营式;报表布局:列数为 1,方向为纵向,字段布局为列;排序字段选择学号(升序);报表标题为“学生基本情况一览表”。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有
3、学生管理数据库 stu_7,该库中有 chengji 表和 xuesheng 表,结构如下: chengji表(学号 C(9)、课程号 C(3)、成绩 N(7,2),该表用于记录学生的考试成绩,一个学生可以有多项记录(登记一个学生的多门成绩)。 xuesheng 表(学号 C(9)、姓名 C(10)、平均分 N(7,2),该表用于记录学生信息,一个学生只有一个记录(表中有固定的已知数据)。 请编写并运行符合下列要求的程序: 设计一个名为 form_stu 的表单,表单中有两个命令按钮,按钮的名称分别为 cmdyes 和 cmdno,标题分别为“统计”和“关闭”。 程序运行时,单击“统计”按钮应
4、完成下列操作: 根据 chengji 表计算每个学生的平均分,并将结果存入 xuesheng 表的“平均分”字段。 根据上面的计算结果,生成一个新的自由表pingjun,该表的字段按顺序取自 xuesheng 表的学号、姓名和平均分 3 项,并且按平均分升序排序,如果平均分相等,则按学号升序排序。 单击“关闭”按钮,程序终止运行。(分数:2.00)_国家二级 VF 机试-试卷 184 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)建立项目文件,文件名为 my。(2)将数据库 stu 添加到新建
5、立的项目当中。(3)从数据库 stu 中永久性地删除数据库表“学生”,并将其从磁盘上删除。(4)修改表单 wen,将其 name 属性值改为 my。(分数:2.00)_正确答案:(正确答案:(1)启动 Visual FoxPro 后,在命令窗口输入命令:CREATE PROJECT my,新建一个项目管理器。 (2)在项目管理器 my 中,首先在“数据”选项卡中选择“数据库”,然后单击选项卡右边的“添加”命令按钮,在系统弹出的“打开”对话框中,将考生文件夹中的数据库 stu 添加到项目管理器中,单击“确定”按钮。 (3)在项目管理器中,选中 stu 数据库,单击右边的“修改”命令按钮,在stu
6、 数据库设计器中,右击“学生”数据表文件,选择“删除”快捷菜单命令,系统弹出一个对话框,在对话框中单击“删除”命令按钮,将“学生”表从数据库中永久删除。 (4)在命令窗口中输入 MODIFY FORM wen,打开表单设计器,在其属性窗口中将表单的 Name 属性值改为 my,单击工具栏中的“保存”按钮,保存表单修改。)解析:解析:本大题主要考查的是通过项目管理器来完成一些数据库及数据库表的操作,项目的建立可以直接在命令窗口输入命令来实现,数据库添加可以通过项目管理器中的命令按钮,打开相应的设计器直接管理,数据库表的移去,应在数据库设计器中完成。此外,还考查了表单的属性的更改。二、简单应用题(
7、总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)在考生文件夹下有一个数据库 stsc,其中有数据库表 student、score 和 course。利用 SQL 语句查询选修了“C+”课程的学生的全部信息,并将结果按学号升序存放在 cplus.dbf 文件中(库的结构同student,并在其后加入课程号和课程名字段)。(2)在考生文件夹下有一个数据库 stsc,其中有数据库表student,使用报表向导制作一个名为 P1 的报表,存放在考生文件夹下。要求:选择 student 表中所有字段,报表样式为经营式;报表布局:列数为 1,方向为纵向,字段布局为列;排序
8、字段选择学号(升序);报表标题为“学生基本情况一览表”。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口输入命令:MODIFY COMMAND query,在程序编辑窗口中输入如下程序段。 *文件 query.prg 中的程序段* SELECT student.*,score.课程号,course.课程名; FROM stsc!student INNER JOIN stsc!score; INNER JOIN stsc!course; ON score课程号=course.课程号;ON student.学号=score.学号; WHERE AT(“C+”,course.课程名)0;
9、ORDER BY student.学号; INTO TABLE cplus.dbf * 保存设计结果,在命令窗口输入命令:DO query,系统将查询结果自动保存到新表中。 (2)在“新建”对话框中选择“报表”单选项,再单击“向导”按钮,系统弹出“向导选取”对话框,在列表框中选择“报表向导”,单击“确定”按钮。 选择“报表向导”后,进入报表向导设计界面,首先进行字段选取,选择 stsc 数据库作为报表的数据源。选中数据表 student,通过“全部添加”按钮,将“可用字段”列表框中的所有字段添加到“选定字段”列表框中,如图 3-40 所示。 )解析:解析:本大题 1 小题考查的是利用 SQL
10、查询语句进行查询,其中注意每两个表之间的关联及字段的选取即可;2 小题利用报表向导完成报表设计,只要注意每个向导界面的设计内容即可。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有学生管理数据库 stu_7,该库中有 chengji 表和 xuesheng 表,结构如下: chengji表(学号 C(9)、课程号 C(3)、成绩 N(7,2),该表用于记录学生的考试成绩,一个学生可以有多项记录(登记一个学生的多门成绩)。 xuesheng 表(学号 C(9)、姓名 C(10)、平均分 N(7,2),该表用于记录学生信息,一个学生只有一
11、个记录(表中有固定的已知数据)。 请编写并运行符合下列要求的程序: 设计一个名为 form_stu 的表单,表单中有两个命令按钮,按钮的名称分别为 cmdyes 和 cmdno,标题分别为“统计”和“关闭”。 程序运行时,单击“统计”按钮应完成下列操作: 根据 chengji 表计算每个学生的平均分,并将结果存入 xuesheng 表的“平均分”字段。 根据上面的计算结果,生成一个新的自由表pingjun,该表的字段按顺序取自 xuesheng 表的学号、姓名和平均分 3 项,并且按平均分升序排序,如果平均分相等,则按学号升序排序。 单击“关闭”按钮,程序终止运行。(分数:2.00)_正确答案
12、:(正确答案:在命令窗口输入命令:CREATE FORM form_stu,打开表单设计器;单击表单控件工具栏上的“命令按钮”控件图标,向表单添加两个命令按钮。选中第一个命令按钮(Command1),在属性对话框中将命令按钮的 Name 属性值修改为 cmdyes,将 Caption 属性值修改为“统计”,如图 3-39 所示。以同样的方法,将第二个命令按钮(Command2)的 Name 属性值修改为 cmdno,将 Caption 属性值修改为“关闭”。 )解析:解析:本题考查的是表单设计,在设计控件属性中,不要将控件的标题(Caption)和名称(Name)属性弄混淆了,名称属性是该控件的一个内部名称,而标题属性是用来显示的一个标签名称;程序部分可以利用一个 DO 循环来依次浏览表中的记录,然后利用 SQL 语句查询符合条件的记录存放到数组中,最后利用数组保存的记录存入到新的数据表中。