1、(A)二级 VISUAL+FOXPRO笔试-7 及答案解析(总分:100.00,做题时间:90 分钟)一、基本操作(总题数:1,分数:30.00)1.1打开考生文件夹下的数据库 College,物理删除该数据库中的 temp表,然后将 3个自由表“教师表”、“ 课程表”和“学院表”添加到该数据库中。2为“课程表”和“教师表”分别建立主索引和普通索引,字段名和索引名均为“课程号”,并为两个表建立一对多的联系。3使用 SQL语句查询“教师表”中工资大于 4500的教师的全部信息,将查询结果按职工号升序排列,查询结果存储到文本文件 one.txt中,SQL 语句存储于文件 two.prg中。4使用报
2、表向导为“学院表”创建一个报表 three,选择“学院表”的所有字段,其他选项均取默认值。(分数:30.00)_二、简单应用题(总题数:1,分数:40.00)2.在考生文件夹下完成下列简单应用:1修改并执行程序 four.prg,该程序的功能是:根据“学院表”和“教师表”计算“信息管理”系教师的平均工资。注意:只能修改标有错误的语句行,不能修改其他语句。2在 College数据库中使用视图设计器建立一个名为 course_v的视图,该视图根据“课程表”、“学院表”和“教师表”建立,视图中的字段包括“姓名”、“课程名”、“学时”和“系名”4 项,视图中只包括“学时”大于等于 60的记录,视图中的
3、记录先按“系名”升序排列,若“系名”相同再按“姓名”降序排列,最后查询该视图中的全部信息,并将结果存放到表 sef中。(分数:40.00)_三、综合应用题(总题数:1,分数:30.00)3.在考生文件夹下完成下列操作:(1)建立一个文件名和表单名均为 oneform的表单文件,表单中包括两个标签控件(Label1 和 Label2)、一个选项组控件(Optiongroup1)、一个组合框控件(Combo1)和两个命令按钮控件(Command1 和 Command2),Label1和 Label2的标题分别为“系名”和“计算内容”,选项组中有两个选项按钮 Option1和Option2,标题分别
4、为“平均工资”和“总工资”,Command1 和 Command2的标题分别为“生成”和“退出”。如下图所示。(分数:30.00)_(A)二级 VISUAL+FOXPRO笔试-7 答案解析(总分:100.00,做题时间:90 分钟)一、基本操作(总题数:1,分数:30.00)1.1打开考生文件夹下的数据库 College,物理删除该数据库中的 temp表,然后将 3个自由表“教师表”、“ 课程表”和“学院表”添加到该数据库中。2为“课程表”和“教师表”分别建立主索引和普通索引,字段名和索引名均为“课程号”,并为两个表建立一对多的联系。3使用 SQL语句查询“教师表”中工资大于 4500的教师的
5、全部信息,将查询结果按职工号升序排列,查询结果存储到文本文件 one.txt中,SQL 语句存储于文件 two.prg中。4使用报表向导为“学院表”创建一个报表 three,选择“学院表”的所有字段,其他选项均取默认值。(分数:30.00)_正确答案:(操作步骤(1)打开 College数据库,用鼠标右键单击表 temp,选择“删除”命令,在弹出的对话框中选择“删除”按钮;用鼠标右键单击数据库设计器空白处,通过快捷菜单中的“添加”命令将自由表“教师表”、“课程表”和“学院表”添加到数据库中。(2)在数据库设计器中用鼠标右键单击表,通过快捷菜单中的“修改”命令打开表设计器,按要求分别为“课程表”
6、和“教师表”建立主索引和普通索引,在数据库设计器中从主索引拖曳到普通索引以建立两表间的联系。(3)新建一个程序,写入下列代码。选择查询字段SELECT*;指定字段来源FROM教师表;设置查询条件WHERE教师表.工资4500;查询结果按职工号升序排列ORDER BY教师表.职工号;将查询结果存储到 one.txt中TO FILE one.txt保存程序名为“two.prg”,并单击系统菜单中的运行按钮,运行程序。(4)通过报表向导新建一个报表,添加“学院表”作为报表的数据源,将所有字段添加到选定字段,最后输入报表名“three”。)解析:考点 本大题主要考查的知识点是:从数据库中删除表、向数据
7、库中添加自由表、为表建立索引并建立表间联系、SQL 语句的编写以及利用报表向导建立报表。在数据库设计器中通过鼠标右键单击表完成删除、添加和修改表的操作。新建程序,在程序中完成 SQL语句的编写。通过“报表向导”建立报表。二、简单应用题(总题数:1,分数:40.00)2.在考生文件夹下完成下列简单应用:1修改并执行程序 four.prg,该程序的功能是:根据“学院表”和“教师表”计算“信息管理”系教师的平均工资。注意:只能修改标有错误的语句行,不能修改其他语句。2在 College数据库中使用视图设计器建立一个名为 course_v的视图,该视图根据“课程表”、“学院表”和“教师表”建立,视图中
8、的字段包括“姓名”、“课程名”、“学时”和“系名”4 项,视图中只包括“学时”大于等于 60的记录,视图中的记录先按“系名”升序排列,若“系名”相同再按“姓名”降序排列,最后查询该视图中的全部信息,并将结果存放到表 sef中。(分数:40.00)_正确答案:(1)操作步骤步骤 1:打开程序 four.prg,修改语句依次如下。第一处:WHILE 改为 WHERE第二处:OPEN 改为 USE。第三处:WHERE 改为 FOR。第四处:填入 num=num+1。步骤 2:保存并运行程序,如图 1所示。图 1(2)操作步骤步骤 1:打开 college数据库,新建一个视图,并添加“课程表”、“学院
9、表”和“教师表”3 个表到视图设计器中。步骤 2:将字段“教师表.姓名”、“课程表.课程名”、“课程表.学时”和“学院表.系名”添加到“选定字段”框中。步骤 3:在筛选选项卡中,选择字段“课程表.学时”,条件为“=”,在实例中输入“60”。步骤 4:在排序选项卡中选择按“系名”升序、“姓名”降序排序。步骤 5:保存视图名为“course_v”。步骤 6:新建一个查询,将视图添加到查询设计器中,选定所有字段,设置查询去向为表“sef”。运行该查询。操作如图 2所示。)解析:考点 本大题主要考查的知识点是:SQL 语句的应用和通过视图设计器创建视图。在 SQL的 SELECT语句中,表示查询条件的
10、短语是 WHERE,而不是 WHILE;在 Visual FoxPro中,打开表文件的命令是 USE,而不是 OPEN;在 SCAN结构的循环语句中,表示循环条件的是 FOR,而不是 WHERE;由题意知,sum 变量用于保存“信息管理”系教师的总 T资,num 变量用于统计“信息管理”系教师的人数,故程序中缺少的语句应是“num=num+1”。三、综合应用题(总题数:1,分数:30.00)3.在考生文件夹下完成下列操作:(1)建立一个文件名和表单名均为 oneform的表单文件,表单中包括两个标签控件(Label1 和 Label2)、一个选项组控件(Optiongroup1)、一个组合框控
11、件(Combo1)和两个命令按钮控件(Command1 和 Command2),Label1和 Label2的标题分别为“系名”和“计算内容”,选项组中有两个选项按钮 Option1和Option2,标题分别为“平均工资”和“总工资”,Command1 和 Command2的标题分别为“生成”和“退出”。如下图所示。(分数:30.00)_正确答案:(操作步骤步骤 1:打开 college数据库。在命令窗口输入“Create Form oneform”,按下回车键新建一个表单。按题目要求向表单添加控件,并修改各控件的属性。控件 表单 标签 1 标签 2 组合框属性 Name CaptionCap
12、tion RowSourceTypeRowSource值 oneform系名 计算内容 6-字段 学院表.系名控件 选项组 1 选项组 2 命令按钮 1 命令按钮 2属性 Caption Caption Caption Caption值 平均工资 总工资 生成 退出步骤 2:右击表单空白处,选择“数据环境”命令,将“学院表”和“教师表”添加到数据环境设计器中。双击命令按钮,编写两个命令按钮的 Click事件代码。* * * * * *“生成”按钮的 Click事件代码* * * * * * *对 x进行赋值x=ThisFbo1.ValueIF ThisForm.Optiongroup1.Val
13、ue=1选择查询字段,通过 AS短语指定显示字段,avg()函数用于求平均值SELECT学院表.系名,学院表.系号,avg(教师表.工资)AS平均工资;指定字段来源FROM学院表,教师表;设置查询条件WHERE学院表.系号=教师表.系号;AND学院表.系名=x;GROUP BY 子句用于按系号分组GROUP BY学院表.系号;将查询结果存储到 salary.dbf中INTO TABLE salary.dbfELSE选择查询字段,通过 AS短语指定显示字段,sum()函数用于求和SELECT学院表.系名,学院表.系号,sum(教师表.工资)AS 总工资;指定字段来源FROM学院表,教师表;设置查
14、询条件WHERE学院表.系号=教师表.系号;AND学院表.系名=x;GROUP BY 子句用于按系号分组GROUP BY学院表.系号;将查询结果存储到 salary.dbf中INTO TABLE salary.dbfENDIF* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *“退出”按钮的 Click事件代码* * * * * *ThisForm.Release* * * * * * * * * * * * * * * * * * * * * * * * *步骤 3:保存表单,并按题目要求运行,如图所示。)解析:考点 本大题主要考查的知识点是:表单的组合框控件、选项组的属性设置以及循环结构程序设计。建立表单,添加控件,修改各控件的属性,完成命令按钮的代码。