1、国家二级 VF机试-试卷 131及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)打开数据库 SCORE_MANAGER,该数据库中含三个有联系的表 STUDENT、SCORE1 和 COURSE,根据已经建立好的索引,建立表之间的联系。 (2)为 COURSE表增加字段:开课学期(N,2,0)。 (3)为 SCORE1表“成绩”字段设置字段有效性规则:成绩=0,出错提示信息是:“成绩必须大于或等于零”。 (4)将SCORE1表“成绩”字段的默认值设置为空值(NULL)。(分数:2.00)_二、简单应
2、用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)打开 test db数据库,根据表 dept和表 sell并使用查询设计器设计一个名称为 three的查询,按“年度”分部门(按年度和部门分组)统计“月平均销售”(通过销售额计算)、“月平均工资”(通过工资额计算)和“月平均利润”(通过“月平均销售-月平均工资”计算)。查询统计结果按“部门号”、“年度”升序排序,并将查询结果输出到表 tabb中。表 tabb的字段名依次为:“部门号”、“部门名”、“年度”、“月平均销售”、“月平均工资”、“月平均利润”。设计完成后,运行该查询。 (2)打开文件名为testa的表单
3、。该表单完成如下功能:每当用户输入用户名和口令并按“确认”按钮后,利用表 pass中记录检查其输入是否正确,若正确,就显示“欢迎使用本系统!”字样,并关闭表单;若不正确,则显示“用户名或口令不对,请重输入 1”字样;如果三次输入不正确,就显示“用户名或口令不对,登录失败1”字样,并关闭表单。 修改口令输入文本框,使输入的口令显示为“*”。 修改该表单“确认”按钮的 Click事件中的程序。请将第 3、4 和 12行语句修改正确。修改时不允许增加或删除行,只能在错误行上进行修改。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.建立一个表单
4、,表单文件名和表单控件名均为 myform_db,表单标题为“数据浏览和维护”,表单示例如图 1-21所示。其他功能要求如下; (分数:2.00)_国家二级 VF机试-试卷 131答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)打开数据库 SCORE_MANAGER,该数据库中含三个有联系的表 STUDENT、SCORE1 和 COURSE,根据已经建立好的索引,建立表之间的联系。 (2)为 COURSE表增加字段:开课学期(N,2,0)。 (3)为 SCORE1表“成绩”字段设置字段有效性规则
5、:成绩=0,出错提示信息是:“成绩必须大于或等于零”。 (4)将SCORE1表“成绩”字段的默认值设置为空值(NULL)。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: MODIFY DATABASEscore_manager ,打开 salary数据库设计器。 在数据库设计器中,拖动 student表“索引”下方的主索引“学号”到 scorel表中“索引”下方的普通索引“学号”上,为两个表建立联系;拖动 course表“索引”下方的主索引“课程号”到 scorel表中“索引”下方的普通索引“课程号”上,为两个表建立联系; (2)右击数据库设计器中的“course”表,选
6、择【修改】快捷菜单命令,打开 course表设计器,在表设计器“字段”选项卡的“字段名”列的最后一个空白文本框中输入字 段名“开课学期”,在“类型”下拉框中选择“数值型”,在“宽度”文本框中输入“2”,保存表结构修改。 (3)在数据库设计器中,右击 scorel表,选择【修改】快捷菜单命令,打开 score1 表设计器,在“字段”选项卡中选中“成绩”,在“字段有效性”的“规则”文本框中输入:成绩=0,在“信息”文本框中输入:”成绩必须大于或等于零”。 (4)接上小题操作,单击“成绩”行中“NULL”列的无符号按钮,使其按钮被选中(被选中的按钮上会出现一个“”符号),在“默认值”文本框中输入:N
7、ULL。保存表结构修改。)解析:解析:本大题考查了表结构的修改;有效性规则的建立;永久联系的建立。 对表中字段建立有效性规则和设置默认值是在表设计器中操作的,在操作时要注意先选中需要建立有效性规则的字段。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)打开 test db数据库,根据表 dept和表 sell并使用查询设计器设计一个名称为 three的查询,按“年度”分部门(按年度和部门分组)统计“月平均销售”(通过销售额计算)、“月平均工资”(通过工资额计算)和“月平均利润”(通过“月平均销售-月平均工资”计算)。查询统计结果按“部门号”、“
8、年度”升序排序,并将查询结果输出到表 tabb中。表 tabb的字段名依次为:“部门号”、“部门名”、“年度”、“月平均销售”、“月平均工资”、“月平均利润”。设计完成后,运行该查询。 (2)打开文件名为testa的表单。该表单完成如下功能:每当用户输入用户名和口令并按“确认”按钮后,利用表 pass中记录检查其输入是否正确,若正确,就显示“欢迎使用本系统!”字样,并关闭表单;若不正确,则显示“用户名或口令不对,请重输入 1”字样;如果三次输入不正确,就显示“用户名或口令不对,登录失败1”字样,并关闭表单。 修改口令输入文本框,使输入的口令显示为“*”。 修改该表单“确认”按钮的 Click事
9、件中的程序。请将第 3、4 和 12行语句修改正确。修改时不允许增加或删除行,只能在错误行上进行修改。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行命令; CREATE QUERY three ,打开查询设计器,将考生文件夹下的 dept表和 sell表添加到查询设计器中。 步骤 2:添加两个表后系统弹出“联接条件”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”按钮设置两个表的联系。 步骤 3:依次双击 dept表中的“部门号”、“部门名”字段和 sell表中的“年度”字段添加到“字段”选项卡的“选定字段”列表中,接着在“函数和表达式”框中输入:AVG(S
10、ell销售额) AS 月平均销售,再单击“添加”按钮,将表达式添加到“选定字段”列表中,以同样的方法,再添加“AVG(sell工资额) AS 月平均工资”和“AVG(sell销售额-Sell工资额)AS 月平均利润”两个表达式到“选定字段”列表框中。如图 2-44所示。 )解析:解析:(1)本题考查的是在查询设计器中新建查询的操作。由于涉及两个表的操作,因此在操作过程中要注意确认查询输出的字段来源于哪个数据表。 本题的关键在于输出字段的设置。由于“月平均销售”、“月平均工资”和“月平均利润”字段需要根据表中字段计算得出,因此,需要在查询设计器“字段”选项卡的“函数和表达式”中输入表达式,或打开
11、“表达式生成器”对话框进行输入计算字段的表达式,新字段名通过 AS短语指定,求平均值的函数是 AVG()。 (2)本题主要考查的是 Visual FoxPro记录查询语句和 IF条件语句的使用。本题程序的功能大致如下: 首先打开 pass表,同时定义两个变量分别等于表单中两个文本框的数据。 然后开始通过 LOCATE 命令查找 pass 表中所有的 user 字段值是否有等于第一个文本框中的数据;如果找到,且 pass表中的 pass字段值等于第二个文本框中的数据,则弹出欢迎提示信息并关闭表单。 接上面的第一个条件判断语句,如果 pass表中的 user 字段没有找到等于第一个文本框中的数据时
12、,则转入条件语句的另一个分支,首先执行的分支语句是将一个计数变量的值累计加 1,当该变量值达到 3时,关闭表单(本题中,已在表单中定义了该变量,并赋初值为 0,它是一个公共变量),如果没有达到 3次,则弹出错误提示信息。 根据以上程序的分析,可以得出: 程序段第 3行的错误是没有正确引用文本框中数据,应通过 Value属性获得文本框中的数据。 第 4行是 Visual FoxPro查询记录的命令使用错误,应使用 LOCATE命令。 第 12行根据题意得出应执行的功能是释放表单,用来释放和关闭表单的方法是 RELEASE。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.
13、00)_解析:6.建立一个表单,表单文件名和表单控件名均为 myform_db,表单标题为“数据浏览和维护”,表单示例如图 1-21所示。其他功能要求如下; (分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: CREATE FORMmyform=db ,打开表单设计器新建表单。从“表单控件”工具栏中依次向表单添加一个选项按钮组、一个复选框和两个命令按钮控件。 步骤 2:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表 2-25。 )解析:解析:本大题考查了表单及控件的常用属性和方法的设置;条件结构程序设计;SQL 简单查询。 对本题操作时,首先根据题意新建表单、添加控件并修改相关属性。注意复选框值为 1时表示选中状态,为 0时为未选中状态。 程序设计的基本流程为:首先判断复选框是否被选中;接着判断选项组中被选中的是哪个选项;根据不同的选项编写对应的 SQL查询语句。本题可以使用 IFELSEENDIP语句结构设计程序,并可以嵌套使用该条件结构语句。 SQL 程序设计部分考查的是 SQL简单查询,属于最简单的查询语句。主要是根据当前复选框的状态判断是否包含查询输出语句。