欢迎来到未来教育!欢迎来到未来教育考试网!!
 当前位置: 首页 >> 计算机试题

2015年计算机二级VFP考试练习及答案解析(17)
添加时间:2015/1/14 9:18:43 浏览次数:1790
新闻来源:未来教育

 第17套

  一、基本操作题(共四小题,第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
<





分享到:
微信二维码 扫描关注未来教育官方
微信,享最新考试资讯
百度 考试吧 搜狐教育 网易 新浪教育
  未来教育教育官网 计算机等级考试 英语等级考试 医学考试 银行从业考试  
  网站首页 | 付款方式 | 版权声明 | 服务条款 | 关于我们 | 联系我们 | 购书流程