《计算机等级考试二级VFP上机模拟试题.doc》由会员分享,可在线阅读,更多相关《计算机等级考试二级VFP上机模拟试题.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机等级考试二级VFP上机模拟试题(1)一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分) 在考生目录下完成如下操作:1. 创建一个新的项目客户管理。 2. 在新建立的项目客户管理中创建数据库订货管理。 3. 在订货管理数据库中建立表order_list,表结构如下:客户号 字符型(6)订单号 字符型(6)订购日期 日期型 总金额 浮动型(15.2)4. 为order_list表创建一个主索引,索引名和索引表达式均是订单号。 解答: 1.方法1:利用菜单新建项目:单击“新建”工具或“文件”菜单下的“新建”菜单项,在“新建”对话框中选择“项目”,单击“新建文件”按钮,在出现的“创建
2、”对话框中输入项目文件名“客户管理”,单击“确定”按钮即可。 方法2:利用命令创建项目: 在命令窗口中直接输入:CREATE PROJECT 客户管理 2.方法1:利用菜单建立数据库 展开管理器中“数据”选项。选择数据库,单击“新建”按钮,在弹出的选项中选择“新建数据库”,在打开的“创建”对话框中输入数据库名:订货管理,最后单击“保存”即可完成。 方法2:利用命令建立数据库 在命令窗口中直接输入命令:CREATE DATABASE 订货管理 Application.Projects1.Files.Add(订货管理.dbc)3.方法1:利用菜单建立表结构 在刚建好的数据库中单击鼠标右键弹出一个快
3、捷菜单(如下图)。 选择“新建表”。在出现的对话框中单击“新建表”按钮,在后续的“创建”对话框中输入表名“order_list”, 完成后,会弹出“表设计器”,如下图: 在“表设计器”中分别输入每个字段的字段名、字段类型、字段宽度和小数位数,输入完毕,单击“确定”按钮,在随后的“是否输入记录”对话框中单击“否”按钮。 方法2:利用命令直接建立表结构 在命令窗口中直接输入命令: open database 订货管理 create table order_list (客户号 C(6),订单号 C(6),订购日期 D,总金额 F(15,2)4.方法1:使用“表设计器”直接建立索引 单击“显示”菜单下
4、的“表设计器”命令,打开order_list的“表设计器”,选择“索引”页框,在索引名项和表达式项均输入(或选择)“订单号”,索引类型选择“主索引”(如下图),单击“确定”按钮,在随后的确认对话框中单击“是”按钮。二、简单应用(2小题,每题20分,计40分) 在考生目录下完成如下简单应用: 1. 将order_list1表中的全部记录追加到order_list表中,然后用SQL SELECT语句完成查询:按总金额降序列出所有客户的客户号、客户名及其订单号和总金额,并将结果存储到results表中(其中客户号、客户名取自customer表,订单号、总金额取自order_list表)。 解答: (
5、1)将order_list1表中的全部记录追加到order_list表中,用命令: use order_listappend from order_list1(2)使用SQL语句完成查询。 方法1:利用查询设计器来完成。具体步骤为: 第一步:单击“文件”菜单中的“新建”,在“新建”对话框中选择“查询”,单击“新建文件”进入查询设计器,将order_list和customer两个表添加到查询设计器中。 注意,两个表联接的字段名是“客户号” 第二步:选取字段。将试题要求的字段添加到选定字段列表中。(注意:其中客户号、客户名取自customer表,订单号、总金额取自order_list表) 第三步:
6、排序依据。单击“排序依据”页框,将“总金额”添加到“排序条件”列表框中,在“排序选项”选项组中选择“降序”。 第四步:确定输出去向 单击查询设计器中的“查询去向”按钮,或单击右键,在快捷菜单中选择“输出设置”。 在弹出的“查询去向”对话框中,单击“表”按钮,并在“表名”列表框中输入表的名字:results。 第五步:运行查询。单击“运行按钮”,即完成查询操作。 方法2:利用命令完成。直接在命令框中输入下列SQL语句。 SELECT Customer.客户号, Customer.客户名, Order_list1.订单号,;Order_list1.总金额 FROM customer INNER J
7、OIN order_list1 ON Customer.客户号 =; Order_list1.客户号 ORDER BY Order_list1.总金额 DESC INTO TABLE results.dbf2. 打开FORM1表单,并按如下要求进行修改(注意:最后保存所做的修改):(1) 表单中有5个随机排列的命令按钮,不要移动或改变基准按钮的位置(否则影响成绩),然后使其他命令按钮与基准按钮左部对齐; (2) 在这组命令按钮的右边添加一个表格控件,并将它的RecordSourceType属性设置为表,然后设置另一个相关属性使在表格控件中显示customer表的记录。 解答: (1)使用工具或
8、菜单打开表单Form1,在表单设计器中拖动鼠标(或按住shift再单击各按钮)选定所有命令按钮(注意:不要移动按钮),再单击布局工具栏中,左对齐工具,结果如下图: (2)打开表格控件工具栏,在表单的按钮右侧拖出一个表格,选中表格,进入“属性窗口”,单击“数据”页框。改变以下两个参数:RecordSourceType属性设置为表,RecordSource属性为:customer,最后保存表单。三、综合应用(1小题,计30分) 当order_detail表中的单价修改后,应该根据该表的单价和数量字段修改order_list表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下:(1) 根据
9、order_detail表中的记录重新计算order_list表的总金额字段的值;(2) 一条order_list记录可以对应几条order_detail记录;(3) 在编程前应保证在基础操作中正确地建立了order_list表,在简单应用中为该表追加了记录(注意只能追加一次);(4) 最后将order_list表中的记录按总金额降序排序存储到od_new表中(表结构与order_list表完全相同);(5) 将程序保存为prog1.prg文件。 解答: Prog1.prg程序代码如下: Sele 订单号,sum(单价*数量) as 总金额 from order_detai1 group by
10、 订单号 into table tset talk offuse t in 0index on 订单号 tag xxset order to tag xxuse order_list in 2select 2set relation to 订单号 into order_detailreplace all 总金额 with t.总金额 sort on 总金额/desc to od_newset talk on附:本题相关表 计算机等级考试二级VFP上机模拟试题(2)一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分) 在考生目录下的订货管理数据库中完成如下操作:1. 将order_de
11、tail、order_list和customer表添加到数据库。 2. 为order_list表创建一个主索引,索引名和索引表达式均是订单号。 3. 建立表order_list和表order_detail间的永久联系(通过订单号字段)。 4. 为以上建立的联系设置参照完整性约束:更新规则为限制,删除规则为级联,插入规则为限制。 解答: 1、2、3略。 4、首先在数据库设计器中,选择两表关系的联接线。 其次:进行“数据库清理”,在“数据库”菜单中运行“数据库清理”命令。 再次:编辑参照完整性。选择联接线,单击鼠标右键则会弹出一个快捷菜单,在快捷菜单中单击“编辑参照完整性”,打开“参照完整性生成器
12、”对话框,在“参照完整性生成器”中按要求进行设置。二、简单应用(2小题,每题20分,计40分) 在考生目录下完成如下简单应用: 1. 列出客户名为三益贸易公司的订购单明细(order_detail)记录(将结果先按订单号升序排列,同一订单的再按单价降序排列),并将结果存储到results表中(表结构与order_detail表结构相同)。 解答: 方法1:利用查询设计器,略 方法2:利用SQL语句,在命令窗口直接输入命令: SELECT * FROM 订货管理!order_detail ORDER BY Order_detail.订单号, Order_detail.单价 DESC INTO T
13、ABLE results.dbf2. 考生目录下有一个form1表单文件,其中三个命令按钮click事件下的语句都是错误的,请按如下要求进行修改(最后保存所做的修改):(1) 单击刷新标题命令按钮时,使表单的标题为简单应用;(2) 单击订单记录 命令按钮时,使表格控件中显示order_list表中的记录;(3) 单击关闭表单 命令按钮时,关闭表单。 注意:每处错误只能在原语句上进行修改,不可以增加语句。 1、刷新标题事件为:&使表单的标题为:简单应用 thisform=简单应用2、订单记录事件为:&在表格控件中显示order_list表的记录 thisform.grid1=order_list
14、.dbf3、关闭表单事件为:&关闭表单 thisform.close解答: thisform=简单应用应改为:thisform.caption=简单应用thisform.grid1=order_list.dbf应改为: thisform.grid1.recordsource=”order_list.dbf” thisform.close应改为:thisform.release三、综合应用(1小题,计30分) 当order_detail表中的单价修改后,应该根据该表的单价和数量字段修改order_list表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下:(1) 根据order_de
15、tail表中的记录重新计算order_list表的总金额字段的值;(2) 一条order_list记录可以对应几条order_detail记录;(3) 在编程前应保证在基础操作中正确地建立了order_list表,在简单应用中为该表追加了记录(注意只能追加一次);(4) 最后将order_list表中的记录按总金额降序排序存储到od_new表中(表结构与order_list表完全相同);(5) 将程序保存为prog1.prg文件。 解答: Prog1.prg程序代码如下: Sele 订单号,sum(单价*数量) as 总金额 from order_detai1 group by 订单号 int
16、o table tset talk offuse t in 0index on 订单号 tag xxset order to tag xxuse order_list in 2select 2set relation to 订单号 into order_detailreplace all 总金额 with t.总金额 sort on 总金额/desc to od_newset talk on附:本题相关表 计算机等级考试二级VFP上机考试3模拟试题(3)一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分) 在考生目录下完成如下操作:1. 创建一个新的项目sdb_p,并在该项目中创建数
17、据库sdb。2. 将考生文件夹下的自由表student和sc添加到sdb数据库中。3. 在sdb数据库中建立表course,表结构如下: 字段名 类型宽度 课程号 字符型 2 课程名 字符型20 学时 数值型 2 随后向表中输入6条记录,记录内容如下(注意大小写): 课程号 课程名 学时 c1 C+ 60 c2 Visual FoxPro 80 c3 数据结构 50 c4 JAVA 40 c5 Visual BASIC 40 c6 OS 604. 为course表创建一个主索引,索引名为cno、索引表达式为课程号。解答:1、菜单方式略,可使用以下命令方式:CREATE PROJECT sdb_
18、pCreate database sdbApplication.Projects1.Files.Add(sdb.dbc)(上行命令的作用是:将建好数据库添加到项目中)2、打开新建好的数据库。用菜单方式或命令方法添加到当前数据库中。命令为:add table studentadd table sc3、菜单方式:打开数据库设计器,在空白处单击鼠标右键,在弹出的快捷菜单中单击“新建”,在表设计器中输入字段名、类型、宽度等,随后单击“确定”按钮,最后输入记录。命令方式:create table course (课程号 C(2),课程名 C(20),学时 N(2)insert table course
19、value (“c1”,”C+”,60)insert table course value (“c2”,”Visual FoxPro”,80)insert table course value (“c3”,”数据结构”,50)insert table course value (“c4”,”JAVA”,40)insert table course value (“c5”,”Visual BASIC”,40)insert table course value (“c6”,”OS”,60)4、用菜单方法来完成操作。打开Course表的设计器。在“索引”页中进行操作,结果如下图:二、简单应用(2小题
20、,每题20分,计40分) 在考生文件夹下完成如下简单应用:1. 根据sdb数据库中的表用SQL SELECT命令查询学生的学号、姓名、课程名和成绩,结果按课程名升序排序,课程名相同时按成绩降序排序,并将查询结果存储到sclist表中。解答操作方法略,命令方法如下:SELECT Student.学号, Student.姓名, Course.课程名, Sc.成绩;FROM sdb!sc INNER JOIN sdb!course INNER JOIN sdb!student ; ON Sc.学号 = Student.学号 ON Sc.课程号 = Course.课程号;ORDER BY Course
21、.课程名, Sc.成绩 DESC INTO TABLE sclist.dbf2. 使用表单向导选择student表生成一个名为form1的表单。要求选择student表中所有字段,表单样式为阴影式;按钮类型为图片按钮;排序字段选择学号(升序);表单标题为学生基本数据输入维护。解答:首选单击“新建”菜单或“新建”工具,选择表单,选择“向导”的方式,则弹出“向导选取”对话框,选择表单向导,单击“确定”按钮,按向导要求设置每一步。三、综合应用(1小题,计30分) 1打开基本操作中建立的数据库sdb,使用SQL的CREATE VIEW命令定义一个名称为SVIEW的视图,该视图的SELECT语句完成查询
22、:选课门数是3门以上(不包括3门)的每个学生的学号、姓名、平均成绩、最低分和选课门数,并按平均成绩降序排序。最后将定义视图的命令代码存放到命令文件T1.PRG中并执行该文件。接着利用报表向导制作一个报表。要求选择SVIEW视图中所有字段;记录不分组;报表样式为随意式;排序字段为学号(升序);报表标题为学生成绩统计一览表;报表文件名为p_student。2设计一个名称为form2的表单,表单上有浏览(名称为Command1)和打印(Command2)两个命令按钮。鼠标单击浏览命令按钮时,先打开数据库sdb,然后执行SELECT语句查询前面定义的SVIEW视图中的记录(两条命令,不可以有多余命令)
23、;鼠标单击打印命令按钮时,调用报表文件p_student浏览报表的内容(一条命令,不可以有多余命令)。解答:1、方法1:菜单方式:在打开数据库后,使用“视图设计器”完成。主要步骤说明如下:字段选取时,除Student.学号, Student.姓名直接选取,其余的先在“函数和表达式”框中分别输入avg(Sc.成绩) as 平均成绩,min(Sc.成绩) as 最低分,count(course.课程名)as 选课门数,再单击“添加”按钮;在“分组依据”选项卡中添加“Student.学号”、然后单击“满足条件”按钮,输入条件“COUNT(Course.课程名) 3”,在“排序依据”选项卡中添加“学号
24、”(升序),最后单击“显示SQL窗口”或单击右键,在快捷菜单中单击“查看SQL”,复制SQL语句,在命令窗口中输入命令:MODIFY COMMAND T1,在打开的命令编辑窗口中,粘贴刚复制的SQL语句,并加上语句CREATE VIEW SVIEW AS。方法2:命令方式:在命令窗口中,输入命令:MODIFY COMMAND T1.PRG后,在打开的命令编辑窗口中,直接输入下列命令:CREATE VIEW SVIEW AS SELECT Student.学号, Student.姓名, ;avg(Sc.成绩) as 平均成绩,min(Sc.成绩) as 最低分,count(course.课程名)
25、as 选课门数;FROM sdb!course INNER JOIN sdb!sc INNER JOIN sdb!student ;ON Sc.学号 = Student.学号 and Course.课程号 = Sc.课程号;GROUP BY Student.学号 HAVING COUNT(Course.课程名) 3 ORDER BY 3 DESC利用报表向导可完成报表的设计,注意报表标题为“学生成绩统计一览表”,报表文件名为“p_student”。2、单击“文件”菜单,单击“新建”命令,选择“表单”,输入表单文件名“form2”,在表单设计器中添加两个命令按钮,打开其属性窗口,将command1和command2中的caption属性分别改为“浏览”、“打印”,分别双击命令按钮,打开代码窗口,写入代码。在“浏览”按钮里设置Click事件代码如下:open database sdbselect * from sview在“打印”按钮里设置Click事件代码如下:Report form p_student Preview注意:保存的表单名为:form2.scx附相关数据表如下: