1、国家二级 VF 机试(操作题)-试卷 35 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)打开“订货管理”数据库,并将表 order list 添加到该数据库中。 (2)在“订货管理”数据库中建立表 order detail,表结构描述如下: 订单号 字符型(6) 器件号 字符型(6) 器件名 字符型(16) 单价 浮动型(10,2) 数量 整型 (3)为新建立的 orderdetail 表建立一个普通索引,索引名和索引表达式均是“订单号”。 (4)建立表 order list 和表 order detail 间的永久联系(通过“订单号
2、”字段)。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)扩展 Visual FoxPro 基类 Form,创建一个名为 myFonn 的自定义表单类。自定义表单类保存在名为myclasslib 的类库中。自定义表单类 myForm 需满足以下要求: 其 AutoCenter 属性的默认值为T。 其 Cilosable 属性的默认值为F。 当基于该自定义表单类创建表单时,自动包含一个命令按钮。该命令按钮的标题为“关闭”,当单击该命令按钮时,将关闭其所在的表单。 (2)利用查询设计器创建查询,从 orders、orderitems 和 goods 表中查询 2007 年
3、签订的所有订单的信息。查询结果依次包含订单号、客户号、签订日期、总金额四项内容,其中“总金额”为该订单所签所有商品的金额(单价*数量)之和。各记录按“总金额”降序排序,“总金额”相同按“订单号”升序排序。查询去向为表tableone。最后将查询保存在 queryoneqpr 文件中,并运行该查询。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.(1)使用 SQL 语句插入一个记录到“分组情况表”中,插入的内容是,组号:01,组名:通俗唱法。请将该 SQL 语句存储在 fourprg 中,否则不得分。 (2)将 order list1 表中的全部记录追加到 order lis
4、t 表中。 (3)利用 SQL DELETE 命令删除“股票数量 bk”表中“股票代码”为“600009”的记录。 (4)使用 SQL 语句将学号为“s3”的学生记录从表 studem 中逻辑删除。(分数:2.00)_国家二级 VF 机试(操作题)-试卷 35 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)打开“订货管理”数据库,并将表 order list 添加到该数据库中。 (2)在“订货管理”数据库中建立表 order detail,表结构描述如下: 订单号 字符型(6) 器件号 字符型(6) 器件名 字符型(16) 单价 浮动型(
5、10,2) 数量 整型 (3)为新建立的 orderdetail 表建立一个普通索引,索引名和索引表达式均是“订单号”。 (4)建立表 order list 和表 order detail 间的永久联系(通过“订单号”字段)。(分数:2.00)_正确答案:(正确答案:(1)命令窗口执行: MODIFY DATABASE 订货管理,新建数据库并打开数据库设计器。 在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击“order list”表。 (2)在数据库设计器中右击,选择【新建表】,在“新建表”中单击“新建表”按钮,在“创建”对话框的“输入表名”中输入“ordel detail,单击
6、“保存”打开表设计器。 根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击“确定”,系统询问“现在输入数据记录吗?”,单击“否”按钮。 (3)右击数据库设计器中的 order detail 表,选择【修改】,打开 order detail 表设计器,在“字段”中选“订单号”,在“索引”列中选择“升序”,单击“确定”保存。 (4)拖动 order list 表“索引”下方的候选索引“订单号”到 0rderdetail 表中“索引”下方的普通索引“订单号”上,为两个表建立联系。)解析:解析:本题考查了数据库的基本操作;数据库表的建立:索引的建立以及表之间联系的建立。 M
7、ODIFY DATABASE 命令可在新建数据库的同时打开数据库设计器,然后完成添加数据表。在表设计器的“字段”选项卡中,可以通过选择“排序”下拉框中的“升序”或“降序”为指定的字段建立一个索引名与索引表达式相同的普通索引。二、简单应用题(总题数:1,分数:2.00)2.(1)扩展 Visual FoxPro 基类 Form,创建一个名为 myFonn 的自定义表单类。自定义表单类保存在名为myclasslib 的类库中。自定义表单类 myForm 需满足以下要求: 其 AutoCenter 属性的默认值为T。 其 Cilosable 属性的默认值为F。 当基于该自定义表单类创建表单时,自动包
8、含一个命令按钮。该命令按钮的标题为“关闭”,当单击该命令按钮时,将关闭其所在的表单。 (2)利用查询设计器创建查询,从 orders、orderitems 和 goods 表中查询 2007 年签订的所有订单的信息。查询结果依次包含订单号、客户号、签订日期、总金额四项内容,其中“总金额”为该订单所签所有商品的金额(单价*数量)之和。各记录按“总金额”降序排序,“总金额”相同按“订单号”升序排序。查询去向为表tableone。最后将查询保存在 queryoneqpr 文件中,并运行该查询。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:执行【文件】【新建】菜单命令,打开“新建”对话框,
9、在对话框中选中“类”,然后单击“新建文件”图标按钮,打开“新建类”对话框。 步骤 2:在“类名”文本框中输入:myfonn,在派生于下拉框中选中“Form”,在“存储于”文本框中输入:myclasslib,单击“确定”按钮。如图 428 所示。 )解析:解析:(1)本题考查的是类的建立,操作比较简单,注意派生类名和基类名的区别,另外,设置表单类的属性与在表单设计器中设置表单属性的方法是一样的。 (2)本题主要考查的是查询设计器的使用,首先要判断查询数据源包括哪些数据表,将数据表添加到查询设计器后,再根据题目要求从每个表中选取字段,设置查询条件等完成查询。本题操作时要注意 3 个表的添加顺序。由
10、于这 3 个表是自由表,无法建立联系,所以需要我们自己根据两表之间的关联字段设置联接条件。通过分析可以得知,orders 表和orderitems 表通过“订单号”相连接,0rderitems 表和 qoods 表通过“商品号”相连接,所以应按照0rders 表、orderitems 表和 qoods 表的顺序进行添加,在添加的过程中可以设置两表之间的联接条件,否则会导致两个表之间无法建立联系,或是导致查询出错。另外,查询筛选条件为具体的年份值,因此只能通过 YEAR()函数获得,应在“筛选”选项卡中选择“表达式”,然后在“表达式生成器”对话框中利用 YEAR()函数取“orders签订日期”
11、中的年份值,作为筛选条件的“字段名”。三、综合应用题(总题数:1,分数:2.00)3.(1)使用 SQL 语句插入一个记录到“分组情况表”中,插入的内容是,组号:01,组名:通俗唱法。请将该 SQL 语句存储在 fourprg 中,否则不得分。 (2)将 order list1 表中的全部记录追加到 order list 表中。 (3)利用 SQL DELETE 命令删除“股票数量 bk”表中“股票代码”为“600009”的记录。 (4)使用 SQL 语句将学号为“s3”的学生记录从表 studem 中逻辑删除。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行命令:MODIFY COMMAND four,打开程序文件编辑器。步骤 2:在编辑器中输入如下程序代码: 步骤 3:在命令窗口执行命令:DO four,执行程序文件。(2)步骤 1:将 order list1 表的所有记录查询出来保存在数组中,使用如下命令: )解析: