1、国家二级 VF 机试(操作题)-试卷 227 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成如下操作:(1) 新建一个名为 sdb 的数据库文件,然后将 client 表添加到数据库中。(2) 使用 SQL UPDAE 语句将 client 表中客户名为“061009“的客户的性别改为“男“。然后将该语句保存在命令文件 sone.prg 中。(3) 使用 SQL INSERT 语句在 client 表中添加一条记录,其中客户号为“071009“、客户名为“杨晓静“、性别为“女“、出生日期 1991 年 1 月 1 日。然后将
2、该语句保存在命令文件stwo.prg 中。(注意:只能插入一条记录)(4)使用 SQL ALTER 语句为 client 表的“性别“字段设置有效性规则:性别必须为男或女。然后将该语句保存在命令文件 sthree.prg 中。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)利用查询设计器创建查询,从 customers、orders、orderitems 和 goods 表中查询所有客户号前两个字符为“06“的客户签订的订单信息。查询结果依次包含客户号、订单号、商品号、商品名和数量五项内容。各记录按客户号升序排序、客户号相同按订单号升序排序、订单号也相同则按商品号升序
3、排序。查询去向为 tableone。最后将查询保存在 queryone.qpr 文件中,并运行查询。(2)扩展 Visual FoxPro 基类CommandButton,创建一个名为 mybutton 的自定义按钮类。自定义按钮类保存在名为 myclasslib 的类库中。自定义按钮类 mybutton 需要满足以下要求:1)其标题为“退出“。2)其 Click 事件代码的功能是关闭并释放所在表单。然后创建一个文件名为 formone 的表单,并在表单上添加一个基于自定义类 mybutton的按钮。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下已有一个菜单
4、文件 mymenu.mnx,运行相应的菜单程序时会在当前 VFP 系统菜单的末尾追加一个“考试“子菜单,如下图所示。 在考生文件夹下还有一个表单文件 myform.scx,表单中包含一个标签、一个文本框和两个命令按钮,如下图所示。 (分数:2.00)_国家二级 VF 机试(操作题)-试卷 227 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成如下操作:(1) 新建一个名为 sdb 的数据库文件,然后将 client 表添加到数据库中。(2) 使用 SQL UPDAE 语句将 client 表中客户名为“061009“的客户的性
5、别改为“男“。然后将该语句保存在命令文件 sone.prg 中。(3) 使用 SQL INSERT 语句在 client 表中添加一条记录,其中客户号为“071009“、客户名为“杨晓静“、性别为“女“、出生日期 1991 年 1 月 1 日。然后将该语句保存在命令文件stwo.prg 中。(注意:只能插入一条记录)(4)使用 SQL ALTER 语句为 client 表的“性别“字段设置有效性规则:性别必须为男或女。然后将该语句保存在命令文件 sthree.prg 中。(分数:2.00)_正确答案:(正确答案:【操作步骤】 (1)通过“新建“对话框新建一个数据库 sdb,在数据库设计器的空白
6、处单击鼠标右键,选择“添加表“命令,将考生文件夹下的 client 表添加到数据库中。 (2)在命令窗口输入“update client set 性别=“男“ where 客户号=“061009“,然后按回车执行。通过“新建“对话框新建一个程序文件,将上述命令复制到此程序文件中,然后保存程序并命名为“sone.prg“。 (3)在命令窗口输入“insert into client values(“071009“,“杨晓静“,“女“,1991-1-1)“,然后按回车执行。通过“新建“对话框新建一个程序文件,将上述命令复制到此程序文件中,然后保存程序并命名为“stwo.prg“。 (4)在命令窗口
7、输入“alter table client alter 性别 set check 性别$“男女“ error “性别必须是男或女“,然后按回车执行。通过“新建“对话框新建一个程序文件,将上述命令复制到此程序文件中,然后保存程序并命名为“sthree.prg“。)解析:二、简单应用题(总题数:1,分数:2.00)2.(1)利用查询设计器创建查询,从 customers、orders、orderitems 和 goods 表中查询所有客户号前两个字符为“06“的客户签订的订单信息。查询结果依次包含客户号、订单号、商品号、商品名和数量五项内容。各记录按客户号升序排序、客户号相同按订单号升序排序、订单
8、号也相同则按商品号升序排序。查询去向为 tableone。最后将查询保存在 queryone.qpr 文件中,并运行查询。(2)扩展 Visual FoxPro 基类CommandButton,创建一个名为 mybutton 的自定义按钮类。自定义按钮类保存在名为 myclasslib 的类库中。自定义按钮类 mybutton 需要满足以下要求:1)其标题为“退出“。2)其 Click 事件代码的功能是关闭并释放所在表单。然后创建一个文件名为 formone 的表单,并在表单上添加一个基于自定义类 mybutton的按钮。(分数:2.00)_正确答案:(正确答案:【操作步骤】 (1)步骤 1:
9、单击常用工具栏中的“新建“按钮,新建一个查询文件,同时打开查询设计器。 步骤 2:依此将考生文件夹下的“custermers“、“orders“、“orderitems“和“goods“4 个表添加到查询设计器中。 步骤 3:在“字段“选项卡中,将客户号、订单号、商品号、商品名和数量 5 个字段添加到“选定字段“列表框中。 步骤 4:在“筛选“选项卡中,在“字段名“出输入表达式“left(customers.客户号,2)“,条件设为“=“,实例输入“06“。 步骤 5:在“排序依据“选项卡中,设置按“客户号“升序排列,然后按“订单号“升序排列,再按“商品号“升序排列。 步骤 6:选择“查询“菜
10、单下的“查询去向“命令,在“查询去向“对话框中选中“表“,在表名文本框中输入“tableone“。 步骤 7:保存查询文件名为“queryone“,并运行查询。 (2)步骤 1:通过“新建“对话框新建一个“类“文件。 步骤 2:在弹出的“新建类“对话框中,输入“类名“MyCommandButton,在“派生于“下拉列表中选择 CommandButton,单击“存储于“文本框后的按钮,在打开的“另存为“对话框选择考生文件夹,输入文件名 myclasslib,单击“确定“按钮。 步骤 3:打开“类设计器“窗口,进入类设计器环境。将自定义按钮类 MyCommandButton的 caption 属性
11、设为“退出“。双击“退出“命令按钮,编写其 click 事件代码“thisform.release“。 步骤4:新建一个表单 Myform,在属性窗口中,添加新类按钮“MyCommandButton“,然后保存对表单的修改。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下已有一个菜单文件 mymenu.mnx,运行相应的菜单程序时会在当前 VFP 系统菜单的末尾追加一个“考试“子菜单,如下图所示。 在考生文件夹下还有一个表单文件 myform.scx,表单中包含一个标签、一个文本框和两个命令按钮,如下图所示。 (分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤
12、1:单击菜单栏“文件“-“打开“命令或单击常用工具栏“打开“按钮,打开考生文件夹下的菜单“mymenu“。 步骤 2:单击“考试“菜单后的“编辑“按钮,在“统计“菜单项的过程中创建代码“do form myform“。在“退出“菜单项的过程中输入语句“ set sysmenu to defa“。 步骤 3:保存菜单,然后单击菜单栏“菜单“-“生成“按钮,生成可执行程序文件。 步骤 4:打开考生文件夹下的表单“myform“,双击“确定“命令按钮,编写其 click 事件代码如下: je = val(Thisform.Text1.Value) SELECT Orders.订单号, Custome
13、rs.客户号, Orders.签订日期,; sum(Orderitems.数量*Goods.单价) AS 金额; FROM customers INNER JOIN orders; INNER JOIN orderitems; INNER JOIN goods ; ON Orderitems.商品号 = Goods.商品号 ; ON Orders.订单号 = Orderitems.订单号 ; ON Customers.客户号 = Orders.客户号; GROUP BY Orders.订单号; HAVING 金额 = je; ORDER BY 4 DESC, Orders.订单号; INTO TABLE tabletwo.dbf 步骤 5:双击“退出“命令按钮,编写其 click 事件代码“thisform.release“ 步骤 6:保存表单并运行。在文本框中输入“1000“,单击“确定“按钮。)解析: