1、国家二级 VF 机试-试卷 185 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)创建一个名为 student 的项目文件。 (2)将考生文件夹下的数据库 std 添加到新建的项目文件中。 (3)打开学生数据库 std,将考生文件夹下的自由表 tea 添加到“学生”数据库 std 中:为教师表 tea 创建一个索引名和索引表达式均为“教师编号”的主索引(升序)。 (4)通过“班级编号”字段建立表 ass 和表 dent 表间的永久联系。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00
2、)3.简单应用题()(分数:2.00)_4.(1)根据学校数据库中的表用 SQL select 命令查询学生的“学号”、“姓名”、“课程名称”和“成绩”,按结果“课程名称”升序排序,“课程名称”相同时按“成绩”降序排序,并将查询结果存储到chengji 表中。 (2)使用表单向导下生成一个名为 fenshu 的表单。要求选择成绩表中的所有字段,表单样式为“凹陷式”;按钮类型为“文本按钮”;排序字段选择“学号”(升序);表单标题为“成绩数据维护”。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.对“出勤”数据库中的表“出勤情况”,建立文件
3、名为 myf 的表单,标题为“出勤情况查询”,表单上有 1 个表格控件和 3 个命令按钮“未迟到查询”、 “迟到查询”和“关闭”。 单击“未迟到查询”按钮,查询出勤情况表中每个人的“姓名”、“出勤天数”和“未迟到天数”,其中“未迟到天数”为“出勤天数”减去“迟到次数”。结果在表格控件中显示,同时保存在表 table1 中。 单击“迟到查询”按钮,查询迟到天数在 l 天以上的人的所有信息,结果在表格控件中显示,同时保存在表 table2 中。 单击“关闭”按钮关闭表单。(分数:2.00)_国家二级 VF 机试-试卷 185 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数
4、:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)创建一个名为 student 的项目文件。 (2)将考生文件夹下的数据库 std 添加到新建的项目文件中。 (3)打开学生数据库 std,将考生文件夹下的自由表 tea 添加到“学生”数据库 std 中:为教师表 tea 创建一个索引名和索引表达式均为“教师编号”的主索引(升序)。 (4)通过“班级编号”字段建立表 ass 和表 dent 表间的永久联系。(分数:2.00)_正确答案:(正确答案:(1)启动 Visual FoxPro 后,在命令窗口输入命令:CREATE PROJECT Student,新建一个项目管
5、理器。 (2)在项目管理器 student 中,首先在“数据”选项卡中选择“数据库”,然后单击选项卡右边的“添加”命令按钮,在系统弹出的“打开”对话框中,将考生文件夹中的数据库 std 添加到项目管理器中,单击“确定”按钮。 (3)展开“数据库”分支,选中 std 数据库,然后单击选项卡中的“修改”命令按钮,打开数据库设计器,右键单击数据库设计器,选择“添加表”快捷菜单命令,系统弹出“打开”对话框,将考生文件夹下 tea 自由表添加到数据库 std 中。 在数据库设计器中,右键单击数据库表 tea,在弹出的快捷菜单中选择“修改”菜单命令,进入 tea 的数据表设计器界面,在“字段”选项卡中为“
6、教师编号”选择“升序”排序,然后单击“索引”选项卡,此选项卡中的“索引名”和“索引表达式”默认“教师编号”,在“索引类型”的下拉框中,选择“主索引”,单击“确定”按钮关闭表设计器。 (4)在数据库设计器中,将 ass 表中“索引”下面的“班级编号”主索引字段拖到 dent 表中“索引”下面的“班级编号”索引字段上,建立了两个表之间的永久性联系。)解析:解析:本大题主要考查的是通过项目管理器来完成一些数据库及数据库表的操作,项目的建立可以直接在命令窗口输入命令来实现,数据库添加可以通过项目管理器中的命令按钮,打开相应的设计器直接管理。对数据表进行连接是在数据库设计器中完成。二、简单应用题(总题数
7、:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)根据学校数据库中的表用 SQL select 命令查询学生的“学号”、“姓名”、“课程名称”和“成绩”,按结果“课程名称”升序排序,“课程名称”相同时按“成绩”降序排序,并将查询结果存储到chengji 表中。 (2)使用表单向导下生成一个名为 fenshu 的表单。要求选择成绩表中的所有字段,表单样式为“凹陷式”;按钮类型为“文本按钮”;排序字段选择“学号”(升序);表单标题为“成绩数据维护”。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口中输入命令:MODWY COMMANDqueryl,在程序文件编辑
8、器窗口输入如下程序段: *文件 queryl.prg 中的程序段* SELECT student.学号,姓名,课程名称,成绩; FROM kech,sc,student; WHERE student.学号=sc.学号 andsc.课程号=kech.课程号; ORDER BY 课程名称 ASC,成绩 DESC; INTO TABLE chengji * 在命令窗口输入命令:DO queryl,运行程序,通过 BROWSE 命令可查看结果,结果如图 3-25 所示。 )解析:解析:本大题 1 小题考查了 SQL 联接查询,设计过程中主要注意两个表之间进行关联的字段;2 小题考查的是根据表单向导生成
9、表单内容。考生应该区别数据源为一个表或多个表时所运用的表单向导。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.对“出勤”数据库中的表“出勤情况”,建立文件名为 myf 的表单,标题为“出勤情况查询”,表单上有 1 个表格控件和 3 个命令按钮“未迟到查询”、 “迟到查询”和“关闭”。 单击“未迟到查询”按钮,查询出勤情况表中每个人的“姓名”、“出勤天数”和“未迟到天数”,其中“未迟到天数”为“出勤天数”减去“迟到次数”。结果在表格控件中显示,同时保存在表 table1 中。 单击“迟到查询”按钮,查询迟到天数在 l 天以上的人的所有信息,结果在表格
10、控件中显示,同时保存在表 table2 中。 单击“关闭”按钮关闭表单。(分数:2.00)_正确答案:(正确答案:在命令窗口中输入命令:CREATE FORM myf,打开表单设计器,通过“表单控件”工具栏向表单添加 1 个表格和 3 个命令按钮。 选中表单,在属性面板中将 Caption 的属性值改为“出勤情况查询”,然后在属性面板顶端的下拉框中选择 Commandl,修改该命令按钮控件的 Caption 属性值为“未迟到查询”,以同样的方法将第二个、第三个命令按钮设置 Caption 属性值分别改为“迟到查询”和“关闭”。双击命令按钮,编写各命令按钮的 Click 事件,程序代码如下。 *
11、命令按钮Commandl(迟到查询)的 Click 事件代码* SELECT 姓名,出勤天数,(出勤天数-迟到次数)AS 未迟到天数; FROM 出勤情况; INTO TABLE tablel Thisform.Cridl.RecordSourceType=1 Thisform.Gridl.RecordSource=“tablel“ * *命令按钮 Command2(迟到查询)的Click 事件代码* SELECT 工号,员工档案姓名,职位,出勤天数,迟到次数,性别,工资; FROM 出勤情况,员工档案; WHERE 迟到次数1AND 员工档案姓名:出勤情况姓名; INTO TABLE table2 Thisform.Gridl.RecordSourceType=1 Thisform.Gridl.RecordSource=“table2, * 以同样的方法为“关闭”命令按钮编写Click 事件代码:Thisform.Release。保存并运行表单,结果如图 3-24 所示。 )解析:解析:本大题考查的是表单设计,在设计控件属性中,不要将控件的标题和名称属性弄混淆,名称属性是该控件的一个内部名称,而标题属性是用来显示的一个标签名称。程序部分属于 SQL 的简单联接查询。