1、国家二级 VF 机试(操作题)-试卷 200 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生目录下的“订货管理“数据库中完成如下操作:(1)将 order_detail、order_list 和 customer 表添加到数据库。(2)为 order_list 表创建一个主索引,索引名和索引表达式均是“订单号“。(3)建立表order_list 和表 order_detail 间的永久联系(通过“订单号“字段)。(4)为以上建立的联系设置参照完整性约束:更新规则为“限制“,删除规则为“级联“,插入规则为“限制“。(分数:2.00)_二、
2、简单应用题(总题数:1,分数:2.00)2.在考生目录下完成如下简单应用:(1)列出客户名为“三益贸易公司“的订购单明细(order_detail)记录(将结果先按“订单号“升序排列,同一订单的再按“单价“降序排列),并将结果存储到 results 表中(表结构与 order_detail 表结构相同)。(2)考生目录下有一个 form1 表单文件,其中三个命令按钮 click 事件下的语句都是错误的,请按如下要求进行修改(最后保存所做的修改):1)单击“刷新标题“命令按钮时,使表单的标题为“简单应用“;2)单击“订单记录“命令按钮时,使表格控件中显示 order_list 表中的记录;3)单
3、击“关闭表单“命令按钮时,关闭表单。注意:每处错误只能在原语句上进行修改,不可以增加语句。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.首先为 order_detail 表增加一个新字段:新单价(类型与原来的单价字段相同),然后编写满足如下要求的程序:根据 order_list 表中的“订购日期“字段的值确定 order_detail 表的“新单价“字段的值,原则是:订购日期为 2001 年的“新单价“字段的值为原单价的 90%,订购日期为 2002 年的“新单价“字段的值为原单价的 110%(注意:在修改操作过程中不要改变 order_detail 表记录的顺序),最后
4、将程序保存为prog1.prg,并执行该程序。接着再利用 Visual Foxpro 的“快速报表“功能建立一个的简单报表,该报表内容按顺序含有 order_detail 表的订单号、器件号、器件名、新单价和数量字段的的值,将报表文件保存为 report1.frx。(分数:2.00)_国家二级 VF 机试(操作题)-试卷 200 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生目录下的“订货管理“数据库中完成如下操作:(1)将 order_detail、order_list 和 customer 表添加到数据库。(2)为 order_lis
5、t 表创建一个主索引,索引名和索引表达式均是“订单号“。(3)建立表order_list 和表 order_detail 间的永久联系(通过“订单号“字段)。(4)为以上建立的联系设置参照完整性约束:更新规则为“限制“,删除规则为“级联“,插入规则为“限制“。(分数:2.00)_正确答案:(正确答案:【操作步骤】 (1)步骤 1:单击常用工具栏中的“打开“按钮,选择打开数据库文件订货管理。 步骤 2:在“数据库设计器-订货管理“中单击鼠标右键,显示弹出菜单,并选择“添加表“命令项,并选择相应的表文件即可(order_detail、order_list 和 customer)。 (2)在命令窗口
6、输入以下语句。 ALTER TABLE order_list ADD PRIMARY KEY 订单号 TAG 订单号 (3)步骤 1:在“数据库设计器-订货管理“中,选择表“order_detail“并单击鼠标右键,选择“修改“命令项。 步骤 2:在“表设计器-order_detail.dbf“中,选择“索引“选项卡,输入索引名“订单号“,选择类型为“普通索引“,表达式为“订单号“。 步骤 3:选择“order_list“表中主索引键“订单号“并按住不放,然后移动鼠标拖到“order_detail“表中的索引键为“订单号“处,松开鼠标即可。 (4)步骤 1:在已建立的永久性联系后,双击关系线,
7、并显示“编辑关系“对话框。 步骤 2:在“编辑关系“中,单击“参照完整性“按钮,并显示“参照完整性生成器“。 步骤 3:在“参照完整性生成器“中,单击“更新规则“选项卡,并选择“限制“单选按钮,单击“删除规则“选项卡,并选择“级联“单选按钮,单击“插入规则“选项卡,并选择“限制“单选按钮,接着单击“确定“按钮,并显示“是否保存改变,生成参照完整性代码并退出?“,最后单击“是“按钮,这样就生成了指定参照完整性。 注意:可能会出现要求整理数据库,那么请整理后重新做操作。)解析:二、简单应用题(总题数:1,分数:2.00)2.在考生目录下完成如下简单应用:(1)列出客户名为“三益贸易公司“的订购单明
8、细(order_detail)记录(将结果先按“订单号“升序排列,同一订单的再按“单价“降序排列),并将结果存储到 results 表中(表结构与 order_detail 表结构相同)。(2)考生目录下有一个 form1 表单文件,其中三个命令按钮 click 事件下的语句都是错误的,请按如下要求进行修改(最后保存所做的修改):1)单击“刷新标题“命令按钮时,使表单的标题为“简单应用“;2)单击“订单记录“命令按钮时,使表格控件中显示 order_list 表中的记录;3)单击“关闭表单“命令按钮时,关闭表单。注意:每处错误只能在原语句上进行修改,不可以增加语句。(分数:2.00)_正确答案
9、:(正确答案:(1)【操作步骤】 客户名为“三益贸易公司“的客户号为“C10001“ 在命令窗口输入以下 SQL 命令是: SELECT Order_detail.*; FROM 订货管理!order_list INNER JOIN 订货管理!order_detail ON Order_list.订单号 = Order_detail.订单号; WHERE Order_list.客户号 = “C10001“; ORDER BY Order_detail.订单号, Order_detail.单价 DESC; INTO TABLE results.dbf (2)【操作步骤】 步骤 1:单击常用工具栏
10、中的“打开“按钮,选择打开表单文件 form1。 步骤 2:双击“刷新标题“按钮,在“Command1.Click“中进行修改 要求刷新表单标题,所以应改为:Thisform.Caption=“简单应用“ 步骤3:双击“订单记录“按钮,在“Command2.Click“中进行修改 要求显示 order_list 表中的记录,所以应改为:Thisform.grid1.RecordSource =“order_list.dbf“ 步骤 4:双击“关闭表单“按钮,在“Command3.Click“中进行修改 要求关闭表单,所以应改为:Thisform.Release)解析:三、综合应用题(总题数:1
11、,分数:2.00)3.首先为 order_detail 表增加一个新字段:新单价(类型与原来的单价字段相同),然后编写满足如下要求的程序:根据 order_list 表中的“订购日期“字段的值确定 order_detail 表的“新单价“字段的值,原则是:订购日期为 2001 年的“新单价“字段的值为原单价的 90%,订购日期为 2002 年的“新单价“字段的值为原单价的 110%(注意:在修改操作过程中不要改变 order_detail 表记录的顺序),最后将程序保存为prog1.prg,并执行该程序。接着再利用 Visual Foxpro 的“快速报表“功能建立一个的简单报表,该报表内容按
12、顺序含有 order_detail 表的订单号、器件号、器件名、新单价和数量字段的的值,将报表文件保存为 report1.frx。(分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:在命令窗口输入下列语句。 增加新字段: ALTER TABLE order_detail ADD COLUMN 新单价 F(10,2) 步骤 2:创建程序文件,在程序文件中输入下列语句。 UPDATE order_detail SET 新单价=单价*0.9 WHERE 订单号=(SELECT 订单号 FROM order_list WHERE 订单号=order_detail.订单号 AND YEAR
13、(订购日期)=2001) UPDATE order_detail SET 新单价=单价*1.1 WHERE 订单号=(SELECT 订单号 FROM order_list WHERE 订单号=order_detail.订单号 AND YEAR(订购日期)=2002) 保存程序文件名为 prog1.prg 并运行。 步骤 3:单击常用工具栏中的“新建“按钮,文件类型选择“报表“,打开报表设计器。选择菜单栏中报表菜单,在下拉菜单中选择快速报表。 步骤 4:在弹出的对话框中选择字段按钮,在字段选择器中选择 order_detail 表的订单号、器件号、器件名、新单价和数量。点击确定。 步骤 5:再次点击确定后,单击常用工具栏中的“保存“按钮,输入文件名为report1.frx,点击保存,即完成快速报表的创建。)解析: