您的当前位置:首页正文

VFP第1套操作题

2023-08-30 来源:星星旅游
第一套操作题

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

1.建立名称为\"CDB\"的商品销售数据库。然后将考生文件夹下的顾客表CUST、订单表ORDER和商品表COMM三个自由表添加到数据库CDB中。

2.分别为顾客表CUST、订单表ORDER和商品表COMM创建主索引,CUST表主索引的索引名和索引表达式均为\"顾客号\";COMM表主索引的索引名和索引表达式均为\"商品号\";ORDER表主索引的索引名为\"PK_CC\"、索引表达式为\"顾客号+商品号\";分别为ORDER表的\"顾客号\"和\"商品号\"建立普通索引(升序),索引名与字段名相同。

3.通过字段\"顾客号\"建立ORDER与CUST之间的永久联系、通过字段\"商品号\"建立ORDER与COMM之间的永久联系。然后为以上建立的永久联系设置参照完整性约束:更新规则为\"级联\";删除规则为\"限制\";插入规则为\"限制\"。

4.在商品销售数据库CDB中使用SQL的CREATE TABLE语句创建数据库表:销售明细表(顺序号,日期,商品号,商品名,金额),其中:顺序号为字符型,宽度为6;日期为日期型;商品号为字符型,宽度为6;商品名为字符型,宽度为10;金额为数值型,宽度为10(其中小数2位);表的主关键字为\"顺序号\"。将创建表的SQL语句存放在文件ONE.PRG中。

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

在考生文件夹下,打开该\"CDB\"数据库,完成如下简单应用: 1.使用一对多表单向导选择CUST表和ORDER表生成一个名为\"ONE\"的表单。要求从父表CUST中选择所有字段,从子表ORDER中选择所有字段,使用\"顾客号\"建立两表之间的关系,样式为阴影式;按钮类型为图片按钮;排序字段为\"顾客号\",升序;表单标题为\"顾客订购商品维护\"。

2.使用查询设计器设计一个名称为VIEW_C的查询,统计查询所有顾客购买商品应付款的情况。查询结果包括顾客号、顾客名、地址和付款金额四个字段(注意:每件商品的\"金额\"是由COMM表中该商品的单价*ORDER表中该商品的订购数量计算得到,每个顾客的付

款金额则是顾客购买商品金额的合计),各记录按顾客号升序排序,并将查询结果存储到表TABA中。设计完成后,运行该查询。 本题主要考核点:使用表单向导制作表单、使用查询设计器建立查询。 三、综合应用(1小题,计30分)

在考生文件夹下,打开\"CDB\"数据库,完成如下综合应用: 创建设计一个标题名为\"查询\"、文件名为\"TWO\"的表单,如下图所示。 表单要求如下: 1.为表单建立数据环境,依次向数据环境添加ORDER、CUST和COMM表。 2.表单启动后自动居中。

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

(1)标签对象标题文本为\"输入顾客号\";文本框用于输入顾客号;两个表格控件用于显示结果。 (2)命令按钮的功能如下:

①\"查询\"按钮:在该按钮的\"Click\"事件中使用SQL的SELECT命令查询顾客号等于输入的\"顾客号\"的顾客的顾客号、顾客名和地址,以及购买商品的商品号、商品名、单价、数量和金额(各商品记录按商品号升序排序)。

将查询的顾客信息在表格控件Grid1中显示,同时将结果存储到表TABB中;将查询的顾客购买商品的结果在表格控件Grid2中显示,同时将结果存储到表TABC中。

注意:每件商品的\"金额\"是由COMM表中该商品的单价*ORDER表中该商品的订购数量计算得到。表TABB和表TABC结构分别如下: TABB(顾客号,顾客名,地址)

TABC(商品号,商品名,单价,数量,金额) ②\"退出\"按钮:的功能是\"关闭和释放表单\"。

注意:表格控件的RecordSourceType属性设置为\"4-SQL说明\"; 表单设计完成后,运行该表单,查询顾客号等于\"010003\"的顾客信息和购买的商品信息。

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

解题思路: 一【操作步骤】

(1)单击常用工具栏中的\"新建\"按钮,打开新建对话框,选择\"数据库\",单击\"新建文件\"按钮,打开\"创建\"对话框,输入数据库文件名\"cdb\",单击\"保存\"按钮,即完成创建数据库;在\"数据库设计器\"窗口中单击鼠标右键,在弹出的快捷菜单中选择\"添加表……\",依次添加cust、order、comm三个表。 (2)在表cust中单击鼠标右键,在弹出的快捷菜单中选择\"修改\",打开表设计器,选择\"索引\"选项卡,索引名输入 \"顾客号\",索引表达式选择\"顾客号\",索引类型选择为\"主索引\"后,单击\"确定\"按钮保存修改,完成建立cust表的主索引,按同样方式建立另外两表的索引。

(3)将鼠标指向表cust的主索引\"顾客号\",按下鼠标左键不放,拖拽鼠标至order表的顾客号索引处,松开鼠标即完成创建cust与order之间的永久性联系;再按同样方法建立表comm与order之间的永久性联系;然后选择\"数据库\"菜单下的\"清理数据库\"选项,再选择\"编辑参照完整性规则\"菜单,按题目要求设置。

(4)建立程序one.prg,输入以下sql语句。

create table 销售明细表(顺序号 c(6) primary key ,日期 d,商品号 c(6),商品名 c(10),金额 n(10.2)) 保存并执行程序。 二.(1)【操作步骤】

步骤1:单击常用工具栏中的\"新建\"按钮,文件类型选择\"表单\",利用向导创建表单。

步骤2:在\"向导选取\"对话框中,选择\"一对多表单向导\"并单击\"确定\"按钮,并显示\"一对多表单向导\"对话框。 步骤3:在\"一对多表单向导\"对话框的\"步骤1-从父表中选定字段\"中,首先要选取表\"cust\",在\"数据库和表\"列表框中,选择表\"cust\",接着在\"可用字段\"列表框中显示表cust的所有字段名,并选定所有字段名,再单击\"下一步\"按钮。 步骤4:在\"一对多表单向导\"对话框的\"步骤2-从子表中

选定字段\"中,选取表\"order\",在\"数据库和表\"列表框中,选择表\"order\",接着在\"可用字段\"列表框中显示表order的所有字段名,并选定所有字段名,再单击\"下一步\"按钮。

步骤5:在\"一对多表单向导\"对话框的\"步骤3-建立表之间的关系\"中,再单击\"下一步\"按钮。

步骤6:在\"一对多表单向导\"对话框的\"步骤4-选择表单样式\"中,在\"样式\"中选择\"阴影式\",在\"按钮类型\"中选择\"图片按钮\",再单击\"下一步\"按钮。

步骤7:在\"一对多表单向导\"对话框的\"步骤5-排序次序\"中,选定\"顾客号\"字段并选择\"升序\",再单击\"添加\"按钮,再单击\"下一步\"按钮。

步骤8:在\"一对多表单向导\"对话框的\"步骤6-完成\"中,在\"请输入表单标题\"文本框中输入\"顾客订购商品维护\",再单击\"完成\"。

步骤9:在\"另存为\"对话框中,输入保存表单名\"one\",再单击\"保存\"按钮,最后表单就生成了。 (2)【操作步骤】

步骤1:单击常用工具栏中的\"新建\"按钮,打开新建对话框后,选择\"查询\",单击\"新建文件\"按钮。

步骤2:打开查询设计器窗口,在\"添加表或视图\"窗口中选择添加表comm、order、cust。

步骤3:在\"字段\"选项卡中添加字段\"cust.顾客号,cust.顾客名,cust.地址\",在\"函数和表达式\"处单击后面的浏览按钮,打开表达式生成器对话框,建立表达式\"sum(comm.单价*order.数量) as 付款金额\",单击\"确定\"按钮,关闭表达式生成器对话框后,单击\"添加\"按钮。 步骤4:在\"分组依据\"选项卡中添加\"cust.顾客号\"字段,按顾客号实现分组。 步骤5:在\"排序依据\"选项卡中添加\"cust.顾客号\"字段,按升序排序。

在\"查询\"菜单中选择\"查询去向……\",在\"查询去向\"对话框中选择\"表\",输入表名taba,单击\"确定\"。

步骤6:最后保存文件名为view_c并运行查询。 三.【操作步骤】

步骤1:新建表单,保存表单文件名为two。 步骤2:修改表单的caption属性为\"查询\",autocenter为.t.。 步骤3:在表单中单击右键,选择\"数据环境\",依次添加表order、cust和comm。

步骤4:按题中图示添加一个标签、一个文本框和两个表格及两个命令按钮,并设置标签及两个命令按钮的caption属性值,两个表格的recordsourcetype属性为4-sql说明。 步骤5:在查询按钮的单击事件中输入下列程序代码: select cust.顾客号,顾客名,地址,order.商品号,商品名,单

价,数量,单价*数量 as 金额 from comm,cust,order; where comm.商品号=order.商品号 and cust.顾客号=order.顾客号 and cust.顾客号=thisform.text1.value; into cursor lsb

select dist 顾客号,顾客名,地址 from lsb into dbf tabb

select 商品号,商品名,单价,数量,金额 from lsb into dbf tabc

thisform.grid1.recordsource=\"sele * from tabb into cursor a\"

thisform.grid2.recordsource=\"sele * from tabc into cursor b\"

步骤6:在退出按钮的单击事件中输入: thisform.release

步骤7:按题目要求输入顾客号:010003,运行并保存程序。

因篇幅问题不能全部显示,请点此查看更多更全内容