1、二级 VISUAL+FOXPRO机试-34 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.在下完成下列操作(在“成绩管理”数据库中完成):(1)为“学生”表的“学号”字段建立升序主索引,索引名为学号。(2)为“学生”表的“性别”字段定义有效性规则,规则表达式为:性别$“男女”,出错提示信息是:“性别必须是男或女”。(3)在“学生”表的“性别”和“年龄”字段之间插入一个名为“出生日期”的字段,数据类型为“日期型”(修改表结构)。(4)用 SQL的 UPDATE命令将学生“王三风”的出生日期修改为 1983年 5月 1日,并将该语句粘贴
2、在SQL.TXT文件中(第一行,只占一行)。(分数:30.00)_二、二 简单应用题(总题数:1,分数:40.00)2.(1)用 SQL语句查询至少有 3门课程成绩在 70分以上(包括 70分)的学生姓名,并将结果按升序存入results表中,然后将该 SQL语句粘贴在 SQLTXT文件的第二行(只占一行)。(2)modi.prg程序的功能是:先为“学生”表增加一个名为“平均成绩”的字段,数据类型为 N(6,2);然后根据“选课”表统计每个学生的平均成绩,并写入新添加的字段。该程序有 3处错误,请一一改正,使程序能正确运行(在指定处修改,不能增加或删除程序行)。(分数:40.00)_三、三 综
3、合应用题(总题数:1,分数:30.00)3.在考生文件夹下,完成如下综合应用:(1)根据“成绩管理”数据库中的“学生”、“课程”和“选课”3 个表建立一个名为 view_grade的视图,视图中包含学号、姓名、课程名称和成绩 4个字段,并要求先按学号升序排序,在学号相同的情况下再按课程名称降序排序。(2)建立一个表单 grade_list(控件名为 form1,文件名为 grade_list),在表单中添加一个表格(名称为grdView_grade)控件,该表格控件的数据源是前面建立的视图 view_grade(直接使用拖曳的方法);然后在表格控件下面添加一个命令按钮(名称为 Command1
4、),该命令按钮的标题为“退出”,要求单击该按钮时关闭表单。注意:完成表单设计后要运行表单的所有功能。(分数:30.00)_二级 VISUAL+FOXPRO机试-34 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.在下完成下列操作(在“成绩管理”数据库中完成):(1)为“学生”表的“学号”字段建立升序主索引,索引名为学号。(2)为“学生”表的“性别”字段定义有效性规则,规则表达式为:性别$“男女”,出错提示信息是:“性别必须是男或女”。(3)在“学生”表的“性别”和“年龄”字段之间插入一个名为“出生日期”的字段,数据类型为“日期型”(修
5、改表结构)。(4)用 SQL的 UPDATE命令将学生“王三风”的出生日期修改为 1983年 5月 1日,并将该语句粘贴在SQL.TXT文件中(第一行,只占一行)。(分数:30.00)_正确答案:(微步骤 (1)打开 Visual FoxPro,在命令窗口中依次执行下列命令,然后按 Encer键。OPEN DATABASE 成绩管理USE 学生MODIFY STRUCTURE在打开的表设计器中,选择“索引”选项卡,在“索引名”下输入“学号”,在“类型”中选择“主索引”,在“表达式”中输入“学号”。单击“确定”命令按钮保存所做的修改。(2)打开“学生”表设计器根据题目要求操作,具体步骤如图 5.
6、1所示。(3)在表设计器中,插入新字段“年龄”,具体如图 5.2所示。(4)在命令窗口中输入:“UPDATE 学生 SET出生日期=1983/05/01 WHERE 姓名=王三风”后,按Enter键,然后将此命令复制到新建的文本文件中,输入文件名 SQL.TXT。具体步骤如图 5.3所示。)解析:解析 本题关键字有:在表设计器中完成操作;在命令窗口输入代码并存到文本文件中。二、二 简单应用题(总题数:1,分数:40.00)2.(1)用 SQL语句查询至少有 3门课程成绩在 70分以上(包括 70分)的学生姓名,并将结果按升序存入results表中,然后将该 SQL语句粘贴在 SQLTXT文件的
7、第二行(只占一行)。(2)modi.prg程序的功能是:先为“学生”表增加一个名为“平均成绩”的字段,数据类型为 N(6,2);然后根据“选课”表统计每个学生的平均成绩,并写入新添加的字段。该程序有 3处错误,请一一改正,使程序能正确运行(在指定处修改,不能增加或删除程序行)。(分数:40.00)_正确答案:(微步骤 (1)操作步骤如下。步骤 1:在命令窗口输入如下命令并按 Encer键。*SELE 姓名 FROM 学生 WHERE 学号 IN;(SELE 学号 FROM 选课 WHERE 成绩=70;GROUP BY 学号;HAVING COUNT(*)=3);ORDER BY 1;INTO
8、 DBF RESULTS*步骤 2:选中并复制命令窗口中的命令语句,打开考生文件夹下的 SQL.TXT文件,将光标定位在文件中的第 2行,将复制的语句粘贴进去。提示:需删除每一行语句后面的分号,并在原分号的位置空一英文状态下的空格。(2)根据题目要求打开 modi.prq文件,修改程序如下。第 1处错误:MODIFY TABLE 学生 ADD 平均成绩 N(6,2)改为:ALTER TABLE 学生 ADD 平均成绩 N(6,2)第 2处错误:DO WHILE EOF()改为:DO WHILE NOT EOF()第 3处错误:REPLACE 平均成绩=cj1改为:REPLACE 平均成绩 WI
9、TH cj1)解析:解析 本题关键字有:SQL 语句的查询功能。三、三 综合应用题(总题数:1,分数:30.00)3.在考生文件夹下,完成如下综合应用:(1)根据“成绩管理”数据库中的“学生”、“课程”和“选课”3 个表建立一个名为 view_grade的视图,视图中包含学号、姓名、课程名称和成绩 4个字段,并要求先按学号升序排序,在学号相同的情况下再按课程名称降序排序。(2)建立一个表单 grade_list(控件名为 form1,文件名为 grade_list),在表单中添加一个表格(名称为grdView_grade)控件,该表格控件的数据源是前面建立的视图 view_grade(直接使用
10、拖曳的方法);然后在表格控件下面添加一个命令按钮(名称为 Command1),该命令按钮的标题为“退出”,要求单击该按钮时关闭表单。注意:完成表单设计后要运行表单的所有功能。(分数:30.00)_正确答案:(微步骤 (1)单击常用工具栏中的“打开”按钮,打开考生文件夹下的数据库“成绩管理”。单击常用工具栏中的“新建”按钮,文件类型选择“视图”,打开视图设计器,将学生、选课和课程表依次添加到视图设计器中,按照系统默认的联系建立 3个表之间的联系,完成如图 5.4所示操作。(2)新建一个表单 grade_list,然后进行如图 5.5所示的操作。)解析:解析 本题关键字有:新建视图,创建表单并添加数据环境,设计表单。