1、二级 VISUAL+FOXPRO-47 及答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)在考生文件夹下有一个名为 myform.scx 的表单文件。打开该表单,然后在表单设计器环境下完成如下操作:(分数:30.00)(1).在属性窗口中修改表单的相关属性,使表单在打开时,在 Visual FoxPro 主窗口内居中显示。(分数:7.50)_(2).在属性窗口中修改表单的相关属性,将表单内名为 Center、East、South、West 和 North 的 5 个按钮的大小都设置为宽 60、高 25。(分数:7.50)_(3).将 We
2、st、Center 和 East 三个按钮设置为顶边对齐,将 North、Center 和 South 三个按钮设置为左边对齐。(分数:7.50)_(4).按 Center、East、South、West、North 的顺序设置各按钮的 Tab 键次序。(分数:7.50)_二、B简单应用题/B(总题数:1,分数:40.00)在考生文件夹下完成如下简单应用:(分数:40.00)(1).利用查询设计器创建一个名为 query1.qpr 的查询文件,查询考生文件夹下 xuesheng 表和 chengji 表中数学、英语和信息技术 3 门课中至少有一门课在 90 分以上(含)的学生记录。查询结果包含
3、学号、姓名、数学、英语和信息技术 5 个字段,各记录按学号降序排列;查询去向为表 table1。并运行该查询。(分数:20.00)_(2).新建一个名为 cj_m 的数据库,并向其中添加 xuesheng 表和 chengji 表。然后在数据库中创建视图view1 通过该视图只能查询少数民族学生的英语成绩;查询结果包含学号、姓名、英语 3 个字段;各记录按英语成绩降序排序,若英语成绩相同按学号升序排序。最后利用刚创建的视图 view1 查询视图中的全部信息,并将查询结果存放在表 table2 中。(分数:20.00)_三、B综合应用题/B(总题数:1,分数:30.00)1.利用表设计器在考生文
4、件夹下建立表 table3,表结构如下: 学号 字符型(10) 姓名 字符型(6) 课程名 字符型(8) 分数 数值型(5,1) 然后编写程序 prog1.prg,在 xuesheng 表和 chengji 表中查询所有成绩不及格(分数小于 60)的学生信息(学号、姓名、课程名和分数),并把这些数据保存到表 table3 中(若一个学生有多门课程不及格,在表 table3 中就会有多条记录)。要求查询结果按分数升序排列,分数相同则按学号降序排列。 要求:在程序中用 SET RELATION 命令建立 chengji 表和 xuesheng 表之间的关联(同时用 INDEX 命令建立相关的索引)
5、,并通过 DO WHILE 循环语句实现规定的功能。最后运行程序。(分数:30.00)_二级 VISUAL+FOXPRO-47 答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)在考生文件夹下有一个名为 myform.scx 的表单文件。打开该表单,然后在表单设计器环境下完成如下操作:(分数:30.00)(1).在属性窗口中修改表单的相关属性,使表单在打开时,在 Visual FoxPro 主窗口内居中显示。(分数:7.50)_正确答案:(操作步骤 通过常用工具栏中的“打开”按钮打开考生文件夹下的表单 myfrom,然后在属性窗口中修改其
6、AutoCenter 属性为“.T.-真”。)解析:考点 本大题主要考查的知识点是:表单及表单控件的属性和方法。 依据题意将表单的AutoCenter 属性设置为“.T.-真”;修改表单所有控件的 width 属性为“60”,Height 属性为“25”;选中三个命令按钮后,单击“布局”工具栏中的“左边对齐”按钮;依次设置 5 个按钮的 TabIndex 属性为“1”、“2”、“3”、“4”和“5”。(2).在属性窗口中修改表单的相关属性,将表单内名为 Center、East、South、West 和 North 的 5 个按钮的大小都设置为宽 60、高 25。(分数:7.50)_正确答案:(
7、选中表单 myfrom 中的所有控件,在属性窗口中修改它们的 Width 属性为“60”,Height 属性为“25”。)解析:(3).将 West、Center 和 East 三个按钮设置为顶边对齐,将 North、Center 和 South 三个按钮设置为左边对齐。(分数:7.50)_正确答案:(选中表单 myform 中的 West、Center 和 East 三个命令按钮,单击“布局”工具栏中的“顶边对齐”按钮;选中表单中的 North、Center 和 South 三个命令按钮,单击“布局”工具栏中的“左边对齐”按钮。)解析:(4).按 Center、East、South、West
8、、North 的顺序设置各按钮的 Tab 键次序。(分数:7.50)_正确答案:(依次选中表单 myform 中的 Center、East、South、West 和 North 五个按钮,分别在属性窗口中设置它们的 TabIndex 属性为“1”、“2”、“3”、“4”和“5”。)解析:二、B简单应用题/B(总题数:1,分数:40.00)在考生文件夹下完成如下简单应用:(分数:40.00)(1).利用查询设计器创建一个名为 query1.qpr 的查询文件,查询考生文件夹下 xuesheng 表和 chengji 表中数学、英语和信息技术 3 门课中至少有一门课在 90 分以上(含)的学生记录
9、。查询结果包含学号、姓名、数学、英语和信息技术 5 个字段,各记录按学号降序排列;查询去向为表 table1。并运行该查询。(分数:20.00)_正确答案:(操作步骤步骤 1:通过“新建”对话框新建一个查询文件,随即弹出“打开”对话框,将考生文件夹下的表xuesheng 和表 chengji 添加到查询设计器中。步骤 2:在“字段”选项卡中,将“xuesheng.学号”、“xuesheng.姓名”、“chengji.数学”、“chengji.英语”和“chengji.信息技术”5 个字段依次添加到“选定字段”列表框中;在“筛选”选项卡中进行如图 1 所示的设置;在“排序依据”选项卡中,将“xu
10、esheng.学号”添加到“排序条件”列表框中,并选择“降序”单选钮。*图 1步骤 3:选择“查询”菜单下的“查询去向”命令,在打开的“查询去向”对话框中选择“表”,输入表名为 table1。保存查询文件为 query1.qpr 并运行。)解析:考点 本大题主要考查的知识点是:利用查询设计器新建查询,新建数据库,将自由表添加到数据库中以及利用视图设计器创建视图。 按要求建立查询;新建数据库并按要求建立视图。(2).新建一个名为 cj_m 的数据库,并向其中添加 xuesheng 表和 chengji 表。然后在数据库中创建视图view1 通过该视图只能查询少数民族学生的英语成绩;查询结果包含学
11、号、姓名、英语 3 个字段;各记录按英语成绩降序排序,若英语成绩相同按学号升序排序。最后利用刚创建的视图 view1 查询视图中的全部信息,并将查询结果存放在表 table2 中。(分数:20.00)_正确答案:(操作步骤步骤 1:通过“新建”对话框新建一个数据库,文件名为 cj_m,在数据库设计器中右击空白处,选择“添加表”命令,将表 xuesheng 和 chengji 添加到数据库中。步骤 2:新建一个视图,将表 xuesheng 和 chengji 添加到视图设计器中,并为两个表建立默认的联接。步骤 3:在“字段”选项卡中,将“xuesheng.学号”、“xuesheng.姓名”和“c
12、hengji.英语”3 个字段依次添加到“选定字段”列表框中;在“筛选”选项卡中,“字段名”列选择“xuesheng.民族”,单击“否”下面的按钮,使其处于选中的状态,“条件”列选择“=”,“实例”框中输入“汉”;在“排序依据”选项卡中,选择按“chengji.英语”降序排序,按“xuesheng.学号”升序排序。将视图保存为view1,如图 2 所示。*图 2步骤 4:新建一个查询,将新建的 view1 视图添加到新建的查询中,选择全部字段,设置查询去向为表table2,保存并运行查询,查询文件名默认,如图 3 所示。*图 3)解析:三、B综合应用题/B(总题数:1,分数:30.00)1.利
13、用表设计器在考生文件夹下建立表 table3,表结构如下: 学号 字符型(10) 姓名 字符型(6) 课程名 字符型(8) 分数 数值型(5,1) 然后编写程序 prog1.prg,在 xuesheng 表和 chengji 表中查询所有成绩不及格(分数小于 60)的学生信息(学号、姓名、课程名和分数),并把这些数据保存到表 table3 中(若一个学生有多门课程不及格,在表 table3 中就会有多条记录)。要求查询结果按分数升序排列,分数相同则按学号降序排列。 要求:在程序中用 SET RELATION 命令建立 chengji 表和 xuesheng 表之间的关联(同时用 INDEX 命
14、令建立相关的索引),并通过 DO WHILE 循环语句实现规定的功能。最后运行程序。(分数:30.00)_正确答案:(操作步骤 步骤 1:通过前面所学的知识,按照题目的要求新建一张表 table3。 步骤 2:新建程序 prog1.prg,输入下列命令语句,并运行该程序。 * * * * * * * *prog1.prg 中的代码* * * * * * * * 关闭程序运算的显示过程 SET TALK OFF 打开数据库 OPEN DATABASE cj m 选择查询字段,制定字段来源,设置查询条件,将查询结果存储到表 temp 中 SELEC * FROM table3 WHERE .F.
15、INTO TABLE temp SELECT 1 打开 xuesheng 表 USE xuesheng 建立索引 INDEX ON 学号TAG 学号 SELECT 2 打开 chengji 表 USE chengji 建立索引 INDEX ON 学号 TAG 学号 SET RELATION TO 学号 INTO xuesheng GO TOP 循环直至遍历所有记录 DO WHILE.NOT.EOF() 先进行判断,满足条件就向 temp 表中插入数据 IF chengji.数学60 INSERT TNTO temp Values (xuesheng.学号,xuesheng.姓名,数学,chen
16、gji.数学) ENDIF 先进行判断,满足条件就向 temp 表中插入数据 IF chengji.英语60 ZNSERT INTO temp Values (xuesheng.学号,xuesheng.姓名.英语,chengji.英语) (ENDIF 先进行判断,满足条件就向 temp 表中插入数据 (IF chengji.信息技术60 INSERT INTO temp Values(xuesheng.学号,xuesheng.姓名,信息技术,chengji.信息技术) (ENDDO 选择查询字段,指定字段来源,查询结果按分数升序排列,分数相同按学号升序排列,将查询结果存储到 ARRAY arr
17、 中 SELECT * FRON temp ORDER BY 分数,学号 DESC INTO ARRAY arr 将 ARRAY arr 中数据插入 table3 中 TNSERT INTO table3 FROM ARRAY arr 关闭数据库 CLOSE DATABASE 关闭表 CLOSE TABLES ALL 删除 temp DROP TABLE temp 关闭程序运算的显示过程 SET TALK ON 返回 RETURN * * * * * * * * * * * * * * * * * * * * * * * * * 考点 本大题主要考查的知识点是:新建自由表,创建程序文件,SQL 语句中的 ORDER BY、GROUP BY、INTO TABLE 短语的使用,循环、选择语句的使用,利用命令建立索引,删除表以及 SQL 的插入语句。 利用建立索引的命令来新建索引,通过循环语句的使用来判断满足条件的数据,再使用 IF 语句进行分段节选,将符合要求的信息进行保存,最后再将查询出的结果进行排序和保存,删除中间表。)解析: