频道栏目
首页 > 资讯 > Visual FoxPro > 正文

2014年计算机二级VF考前试题及答案解析第17套

14-07-26        来源:[db:作者]  
收藏   我要投稿

  一、基本操作题(共四小题,第1和2题是7分、第3和4是8分)

  在考生文件夹下完成下列操作:

  1.打开名称为SDB的学生数据库,分别为学生表Student、选课成绩表SC和课程表Course创建主索引。Student表主索引的索引名和索引表达式均为"学号";Course表主索引的索引名和索引表达式均为"课程号";SC表的主索引名为PK_SC,索引表达式为"学号"+"课程号"的字段组合。

  2.通过字段"学号"建立Student表与SC表之间的永久联系、通过字段"课程号"建立Course表与表SC之间的永久联系。并为以上建立的永久联系设置参照完整性约束:更新规则为"级联";删除规则为"级联";插入规则为"限制"。

  3.使用SQL语句将学号为"s3"的学生记录从表Student中逻辑删除,并将该SQL语句存放在文件ONE.PRG中。

  4.创建一个名为Project_S的项目文件。将学生数据库SDB添加到该项目中。

  二、简单应用(2小题,每题20分,计40分)

  在考生文件夹下,打开商品销售数据库CDB,完成如下简单应用:

  1.使用一对多报表向导建立名称为P_ORDER的报表。要求从父表顾客表CUST中选择所有字段,从子表订单表ORDER中选择所有字段;两表之间采用"顾客号"字段连接;按"顾客号"字段升序排序;报表样式为"经营式",方向为"纵向";报表标题为"顾客订单表"。然后修改该报表,在页注脚中增加一个标签"制表人:王爱学";该标签水平居中,标签中的":"为中文的冒号。

  2.修改一个名称为TWO.PRG的命令文件。该命令文件统计每个顾客购买商品的金额合计(应付款),结果存储在临时表ls中。然后用ls中的每个顾客的数据去修改表scust对应的记录。该命令文件有3行语句有错误,打开该命令文件进行修改。

  注意:直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。

  本题主要考核点:使用报表向导制作表单、表单报表的使用、修改程序文件。

  解题思路:

  第1题:启动报表向导可在"文件"菜单中选择"新建"或者单击工具栏上的"新建"按钮,打开"新建"对话框,文件类型选择报表,单击向导按钮,在"向导选取"对话框中选择"一对多报表向导",然后按照报表向导操作即可。然后打开该报表,在页注脚中增加一个标签控件,输入:"制表人:王爱学",选中该标签,再选择"格式"菜单下的"对齐"子菜单下的"水平对齐"。

  第2题:利用"文件"菜单下的"打开"命令打开程序文件TWO.PRG。将命令文件修改为:

  CLOSE DBF

  PRIVATE no,money

  USE scust

  *下面的一行语句有错误

  SELECT 顾客号,sum(数量*单价) 应付款 ;

  FROM order JOIN comm ON order.商品号 = comm.商品号 ;

  GROUP BY 顾客号 ;

  INTO CURSOR ls

  SELECT scust

  *下面的一行语句有错误

  DO WHILE .NOT. EOF()

  no = 顾客号

  SELECT ls

  LOCAT FOR 顾客号 = no

  money = 应付款

  SELECT scust

  *下面的一行语句有错误

  REPLACE 应付款 WITH money

  SKIP +1

  ENDDO

  CLOSE TABLE

  RETURN

  三、综合应用(1小题,计30分)

  在考生文件夹下,打开名称为CDB的商品销售数据库,完成如下综合应用:

  创建一个标题名为"顾客购买商品查询"、文件名为GK的表单,如下图所示。

  

  表单要求如下:

  1.在该表单中设计两个标签、两个文本框、一个表格控件和两个命令按钮。

  2.表单中两个标签的名称分别为Label1和Label2,其标题分别为"顾客号"和"应付款";两个文本框的名称分别为Text1和Text2,前者用于输入查询的顾客号,后者用于显示该顾客的应付款;表格Grid1用于显示顾客购买商品的详细记录。

  3.两个命令按钮的功能如下:

  (1)"查询"按钮(Command1)

  在该按钮的Click事件中编写程序,采用SQL语句根据第1个文本框输入的顾客号进行查询。在表格控件中显示该顾客的顾客号和购买的每件商品的商品号、商品名、单价、数量和金额,各记录按商品号升序排序。该查询结果应同时存储到表tjb.dbf中。另外需要统计该顾客的应付款,并将结果显示于 Text2文本框中。

  说明:金额=单价*数量,应付款=顾客购买的商品金额合计

  (2)"退出"按钮(Command2):关闭并释放表单。

  注意:表格控件的RecordSourceType属性设置为"4-SQL说明";

  表单设计完成后,运行该表单,输入顾客号:010003,单击"查询"按钮进行查询。

  本题主要考核点:表单文件的创建、控件的属性的修改、SQL语句运用、表单的退出。

  解题思路:

  ①在命令窗口输入命令:CREATE FORM GK,打开表单设计器窗口。

  ②在表单上添加各标签、文本框、表格、命令按钮,并进行适当的布置和大小调整。

  ③根据题面要求设置各标签、表格、命令按钮以及表单的属性值。

  ④将表格Grid1的RecordSourceType属性值设置为"4-SQL说明"。

  ⑤设置"查询"按钮的Click事件代码:

  ThisForm.Grid1.RecordSource="SELECT Order.顾客号,Comm.商品号,商品名,单价,数量,Comm.单价* Order.数量 as 金额 FROM cdb!comm INNER JOIN cdb!order ON Comm.商品号=Order.商品号 WHERE 顾客号=ALLTRIM(ThisForm.Text1.Value) order by Comm.商品号 INTO TABLE tjb"

  SELECT sum(Comm.单价* Order.数量) FROM cdb!comm INNER JOIN cdb!order ON Comm.商品号=Order.商品号 WHERE 顾客号=ALLTRIM(ThisForm.Text1.Value) INTO ARRAY temp

  ThisForm.Text2.Value=temp

  ⑥设置"退出"按钮的Click事件代码:

  THISFORM.RELEASE

  ⑦保存表单并运行,在文本框中输入"010003",单击"查询"命令按钮进行计算。最后,单击"退出"命令按钮结束。

相关TAG标签
上一篇:2014年计算机二级VF考前试题及答案解析第16套
下一篇:
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站