《计算机二级vf上机考试题库-答案.docx》由会员分享,可在线阅读,更多相关《计算机二级vf上机考试题库-答案.docx(149页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机二级2011年9月计算机二级vf上机考试模拟题答案第一套一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)注意:基本操作题为4道SQL题,请将每道题的SQL命令粘贴到SQL1. txt文件,每条命令占一行,第1道题的命令是第1行,第2道题的命令是第2行,以此类推;如果某道题没有做相应行为空。在考生文件夹下完成下列操作:1 .利用 SQL SELECT命令将表 stock_sl.dbf 复制到 stock. bk. dbf;2 .利用 SQL INSERT 命令插入记录(600028,4.36,4.60,5500)到 stock-bk. dbf 表。3 .利用SQL UPDAT
2、E命令将stock-bk. dbf表中股票代码为600007的股票现价改为8.88.4 .利用SQL DELETE命令删除stock-bk. dbf表中股票代码”为600000的股票。本题的主要考核点:SQL语句的使用。1、 SELE * FROM stock.sl INTO DBF stock.bk2.INSE INTO stock_bk (股票代码,买入价,现价,持有数量) VALU(600028,4.36,4.60,5500)3、UPDA stock.bk SET 现价=8.88 WHER 股票代码=6000074、DELE FROM stock.bk WHER 股票代码=600000”
3、三、综合应用(1小题,计30分)在考生文件夹下有学生成绩数据库XUESHENG3,包括如下所示三个表文件以及相关的索引文件:1、XS. DBF (学生文件:学号C8,姓名C8,性别C2,班级C5;另有索引文件XS. IDX,索引键:学号)2、CJ. DBF (成绩文件:学号C8,课程名C20,成绩N5.1 ;另有索引文件CJ. IDX,索引键:学号)3、CJB. DBF(成绩表文件:学号C8,姓名C8,班级C5,课程名C12,成绩N5.1)设计一个名为XS3的菜单,菜单中有两个菜单项计算和退出。程序运行时,单击计算”菜单项应完成下列操作:将所有选修了计算机基础的学生的计算机基础成绩,按成绩由高
4、到低的顺序填列到成绩表文件CJB. DBF中(事前须将文件中原有数据清空)。单击退出菜单项,程序终止运行。(注:相关数据表文件存在于考生文件夹下)本题的主要考核点:结构化查询语言(SQL)中的联接查询、查询的排序、查询的去向等知识解题思路:在本题中要想得到所有选修了计算机基础的学生的计算机基础”成绩及学生的姓名等信息,就需要用到联接查询。因为学生的姓名、班级在表XS. DBF中,而学生的成绩在表 CJ. DBF中。而这两个表要联接起来可以通过学号字段。有以下两种联接查询的形式:SELECT XS.学号,姓名,班级,课程名,成绩FROM XS,CJ WHERE XS.学号=CJ.学号AND课程名
5、小计算机基础或者 SELECT XS.学号,姓名,班级,课程名,成绩 FROM XS LEFT JION CJ ON XS.学号=CJ.学号 W HERE 课程名=计算机基础通过以上的联接查询便得到了所有选修计算机基础的学生的计算机基础”的成绩及学生的姓名等信息。而题中所要求按成绩的降序排序,所以应该在以上SQL语句的基础上加入:ORDER BY成绩DESC将查询所得到的结果放于一个数组变量AFieldsValue 中,要用到INTO ARRAY AFieldsValue.至此一个完整的SQ L联接查询语句便形成了: SELECT XS.学号,姓名,班级,课程名,成绩FROM XS,CJ WH
6、ERE XS.学号=CJ.学号AND课程名小计算机基础ORDER BY成绩DESC INTO ARRAY AFiel dsValue清空 CJB. DBF将tabi eName中的资料添加到已被清空的CJB. DBF中I NSERT INTO CJB FROM ARRAY AFieldsValue二、简单应用(2小题,每题20分,计40分)1、在考生文件夹下建立数据库sc2,将考生文件夹下的自由表score2添加进sc2中。根据score2表建立一个视图score-view,视图中包含的字段与score2表相同,但视图中只能查询到积分小于等于1500的信息。然后利用新建立的视图查询视图中的全部
7、信息,并将结果按积分升序存入表v2o2、建立一个菜单f ilemenu,包括两个菜单项文件和帮助,文件将激活子菜单,该子菜单包括打开存为和关闭三个菜单项;关闭”子菜单项用SET SYSME NU TO DEFAULT命令返回到系统菜单,其他菜单项的功能不做要求。第1题,本题的主要考核点是视图的建立。在项目管理器中选择一个数据库,选择本地视图,然后选择新建按钮,打开视图设计器1选择所有字段,在筛选栏内输入条件积分=1500,关闭并保存。在数据库设计器中打开视图,用sort on积分to v2命令存入新表。第2题,本题的主要考核点是菜单的建立。新建菜单可按下列步骤:选择文件菜单中的新建命令,在新建
8、对话框中选择菜单,单击新建文件按钮。在新建菜单”对话框中选择菜单按钮,调出菜单设计器也可用CREATE ME NU命令直接调出菜单设计器。在菜单名称中填入文件帮助,文件结果为子菜单,单击编辑;在子菜单的菜单名称中输入打开、存为、关闭,关闭结果为命令 SET SYSMENU TO DEFAULT.第二套一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)在考生文件夹下完成下列操作(在成绩管理数据库中完成):1 .为“学生表在学号”字段上建立升序主索引,索引名为学号;2 .为学生表的性别字段定义有效性规则,规则表达式为性别$男女出错提示信息是:性别必须是男或女3 .在学生表的性别和年龄字
9、段之间插入一个出生日期字段,数据类型为日期型(修改表结构);4 .用SQL的UPDATE命令将学生王三风的出生日期修改为1983年5月1日,并将该语句粘贴在SQL2.TXT文件中(第一行、只占一行)本题的主要考核点:主索引的建立、字段有效规则的建立,表结构的更改,S QL语言的使用。解题思路:1 .在表设计器中的索引页面建立索引。2、建立有效性规则在表设计器中的字段选项卡。在规则栏中输入性别$男女,提示信息栏输入性别必须是男或女”(不要双引号)。4. SQL语句的用法UPDA学生SET出生日期=八1983/05/01 WHER姓名竹王三风三、综合应用(1小题,计30分)在考生文件夹下有仓库数据
10、库CK3,包括如下所示两个表文件:CK(仓库号C(4),城市C(8),面积N(4)ZG (仓库号C(4),职工号C(4),工资N(4)设计一个名为ZG3的菜单,菜单中有两个菜单项统计和退出。程序运行时,单击统计”菜单项应完成下列操作:检索出所有职工的工资都大于1220元的职工所管理的仓库信息,将结果保存在whl数据表(WH1为自由表)文件中,该文件的结构和CK数据表文件的结构一致,并按面积升序排序。单击退出菜单项,程序终止运行。(注:相关数据表文件存在于考生文件夹下)本题主要考核点:菜单的建立、结构化查询语言(SQL)中的嵌套查询、查询结果的去向等知识。解题思路:利用菜单设计器定义两个菜单项,
11、在菜单名称为统计的菜单项的结果列中选择过程,并通过单击编辑按钮打开一个窗中来添加统计”菜单项要执行的命令。在菜单名称为退出”的菜单项的结果列中选择命令,并在后面的选项列中输入以下退出菜单的命令:SET SYSMENU TO DEFAULT 统计”菜单项要执行的程序:首先中打开数据库文件OPEN DATABASE CK3. DBC下面我们分析所要用到的查询语句的实现,题面要求检索出所有取工的工资都大于1220的取工所管理的仓库信息,所以得到满足以上条件的仓库号成为解答本题的关键。所有职工的工资都大于1220的职工所管理的仓库”这个条件可以将其分解为同时满足以下两个条件的结果“仓库号不存在于职工的
12、工资小于等于1220的职工所管理的仓库号中并且“仓库号存在于表ZG中,而以上两个条件我们可以利用SQL轻松写出来。所以最后形成的查询语句以下:SELEC T FROM CK WHERE 仓库号 NOT IN (SELECT 仓库号 FROM ZG WHERE 工资=1220) AND 仓库号 IN (SELECT 仓库号FROM ZG) INTO TABLE whl. dbf.后面的 INTO TABLE whl. d bf决定了查询的结果是生成一个whl. dbf文件。本题还考对查询的排序和查询的去向进行了考核.可以用0 RDER BY order.item ASCIDESC来让查询的结果按
13、某一列或某几列的升序(ASC)或降序(DESC)进行排列。而查询的去向可以通过INTO TABLE strTableName而直接生成一个文件名为strTableName的.DBF表。二、简单应用(2小题,每题20分,计40分)1、根据考生文件夹下的txl表和jsh表建立一个查询 query2,查询出单位是南京大学的所有教师的姓名、职称、电话,要求查询去向是表,表名是query2.dbf,并执行该查询。2、建立表单enterf,表单中有两个命令按钮,按钮的名称分别为cmdin和cmdout,标题分别为进入和退出。第1题,本题的主要考核点是建立查询。建立查询可以使用“文件”菜单完成,选择文件一新
14、建一查询一新建文件,将txl和jsh添加入查询中,从字段中选择姓名、职称和电话字段,单击查询菜单下的查询去向,选择表,输入表名query2. DBF。最后运行该查询。第2题,本题的主要考核点是表单的建立。可以用三种方法调用表单设计器:在项目管理器环境下调用;单击“文件”菜单中的“新建”,打开“新建”对话框,选择“表单”;在命令窗口输入CREATE FORM命令。打开表单设计器后,在表单控件工具栏上单击“命令按钮”,在表单上放置两个按钮。分别修改其属性Name为cmdin和 cmdout, Caption属性为进入和退出。第三套一、基本操作(共四小题,第1和2题是7分、第3和4题是8分1、请在考
15、生文件夹下建立一个数据库KS4。2、将考生文件夹下的自由表STUD、COUR、SCOR加入到数据库KS4中。3、为STUD表建立主索引,索引名和索引表达式均为学号第二十一套一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)在考生文件夹下完成如下操作:1 .打开订货管理数据库,并将表order.detail添加到该数据库中。2 .为表order_detail的单价字段定义默认值为NUL Lo3 .为表order.detail的单价字段定义约束规则:单价0,违背规则时的提示信息是:单价必须大于零4 .关闭订货管理数据库,然后建立自由表customer,表结构如下:客户号字符型(6)客户
16、名字符型(16)地址字符型(20)电话字符型(14)本题主要考核点:将一个自由表添加到数据库中、为字段建立约束规则、设置字段的默认值、建立表的结构等知识点本题解题思路:第一步:打开考生文件夹下的订货管理数据库第二步:打开数据库菜单选择添加表(A),在弹出的“打开对话框中,选定考生文件夹下的order-detail表,再点击确定即可,这样表order.detail就添加到了订货管理数据库中第三步:在数据库设计器中选中order-detail表,选择数据库菜单下的修改(V),弹出表设计器,在表设计器中点击单价所在的行,单击Null列上的按钮,确认按钮上出现对号,在字段有效性的规则字段中输入:单价0
17、,在信息框中输入:单价必须大于0,在默认值框中输入:.NULL.0确定即可第四步:关闭数据库,在Visual FoxPro主窗口中按下组合键Ctrl+N。系统弹出新建对话框,在文件类型中选择表,在弹出的对话框中选择新建表,并在弹出创建对话框中选定考生文件夹,在输入表名中填入customer,再点击保存。第四步:在弹出的表设计器中按题面的要求依次输入各个字段的定义,点击确定按钮,保存表结构。二、简单应用(2小题,每题20分,计40分)在考生文件夹下完成如下简单应用:1 .列出总金额大于所有订购单总金额平均值的订购单(order-list)清单(按客户号升序排列),并将结果存储到results表中
18、(表结构与order-list表结构相同)2 .利用Visual Foxpro的快速报表功能建立一个满足如下要求的简单报表:(1)报表的内容是order_detail表的记录(全部记录,横向);(2)增加标题带区,然后在该带区中放置一个标签控件,该标签控件显示报表的标题器件清单;(3)将页注脚区默认显示的当前日期改为显示当前的时间;(4)最后将建立的报表保存为reportl. frx。本题主要考核点:SQL中的查询SELECT查询、联接查询、查询的排序、查询的结果的去向等;报表的建立方法等知识点.解题思路:第一小题:为了能得到所有总金额大于平均总金额的订购单信息,应该首先得到总金额的平均值,利
19、用:SELECT AVG(总金额)FROM ORDER-LIST INTO ARRAY AFieldsValue,并将总金额的平均值放到一个数组变量之中AFieldsValue;下一步就可以以总金额AFieldsValue为条件得到总金额大于平均总金额的订购单信息,将这一条件放在WHERE子句的后面,查询结果的排序要用到ORDER BY子句,ORDER BY 客户号;查询结果要放入一个永久表中要用到INTO TABLE 子句,结果保存到RESULTS表中所以要用INTO TABLE RESU LTS.本题由两条SQL语句组成:SELECT AVG(总金额)FROM ORDER-LIST INT
20、O ARRAY AFieldsValueSELECT * FROM ORDER-LIST WHERE 总金额)AFieldsValue;ORDER BY客户号;INTO TABLE RESULTS第二小题:第一步:在Visual FoxPro主窗口按下组合键Ctrl+N,系统弹出新建对话框,在文件类型中选择报表,再点击新建文件按钮,系统弹出报暴设计器第二步:单击主窗口报表菜单下的快速报表(0),系统弹出打开对话框,选择考生文件夹下的order.detail, db f表,单击确定,系统弹出快速报表对话框,单击”确定按钮后便生成了一个报表,将报表文件以文件名report l.frx保存在考生文件
21、夹下。第三步:选择主菜单报表下的标题/总结(T),弹出标题/总结”对话框,在报表标题类型中选择标题带区,单击确定按钮,这样就在报表中加入了一个标题带区,打开报表控件工具栏,在打开的报表控件中选择标签控件,在标题带区点击鼠标,输入器件清单第四步:双击页注脚中的显示当前日期的域控件,打开报表表达式,在表达式”文本框中将原来的DATE ()用TIM E()来代替。点击确定第五步:以文件名reportl. frx将报暴文件保存在考生文件夹下。三、综合应用(1小题,计30分)首先将order-detail表全部内容复制到od-bak表,然后对od-bak表编写完成如下功能的程序:1 .把订单号尾部字母相
22、同并且订货相同(器件号相同)的订单合并为一张订单,新的“订单号就取原来的尾部字母,单价取最低价,数量取合计;2 .结果先按新的“订单号升序排序,再按环器件号升序排序;3 .最终记录的处理结果保存在od-new表中;4 .最后将程序保存为progl. prg,并执行该程序。本题主要考核点:程序的建立方法、程序中循环结构的使用、SQL查询语句的使用、记录的修改方法;报表的建立方法等知识点本题解题思路:第一步:在VisualFoxPro主窗口下按组合键CtC+N,系统弹出新建对话框,在文件类型中选择程序,再点击新建文件按钮,则系统弹出程序编辑窗口;第二步:在弹出的窗中中输入以下代码:SET TALK
23、 OFFSET SAFETY OFF sele * from order-detail into table od-bak&复制一个表用来存放结果USE OD-BAKCOPY STRUCTURE TO OD-NEW&首先得到所有的新定单号和器件号:SELECT RIGHT (订单号,1) AS新订单号,器件名,器件号,;RIGHT (订单号,1)+器件号 AS NEWNUM;FROM OD_BAK;GROUP BY NEWNUM;ORDER BY新订单号,器件号;INTO CURSOR CurTableDO WHILE NOT EOF ()&得到单价和数量SELECT MIN (单价)AS最低
24、价,SUM (数量)AS数量合计;FROM OD-BAK;WHERE RIGHT (订单号,l)=CurTable.新订单号AND器件号=0111121)16.器件号;INTO ARRAY AFieldsValueINSERT INTO OD-NEW VALUES;(CurTable.新订单号,CurTable.器件号,CurTable.器件名,AFieldsValue(1,1), AFieldsValue(1,2)SKIPENDDOCLOSE ALLSET TALK ONSET SAFETY ON第三步:单击保存工具栏按钮,以文件名progl.prg保存程序文件在考生文件夹下,并运行程序。第
25、二十二套一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)在考生文件夹下完成如下操作:1 .创建一个新的项目sdb_p,并在该项目中创建数据库 sdbo2 .将考生文件夹下的自由表student和sc添加到sdb 数据库中。3 .在sdb数据库中建立表course,表结构如下:字段名类型宽度课程号字符型220课程名字符型学时数值型随后向表中输入6条记录,记录内容如下(注意大小写):课程号课程名学时clC+60c2Visual FoxPro80c3数据结构50c4JAVA40c5Visual BASIC40c6OS604 .为course表创建一个主索引,索引名为eno、索引表达式为
26、课程号I本题主要考核点:创建项目、建立数据库、自由表添加到数据库中、在数据库中建立表、索引的建立解题思路:第一步:在Visual FoxPro主窗口下按组合键Ctrl+N,则系统弹出新建”对话框,在文件类型中选择项目,再点击新建文件按钮;第二步:在弹出的创建对话框中,选定考生文件夹,在项目文件中填入sdb_p. pjx,再点击保存按钮;这样便新建了一个项目;第三步:在弹出的项目管理器中先选择数据标签,再选择数据库,最后点击新建按钮;第四步:在弹出的新建数据库”对话框中点击新建文件;第五步:在弹出的创建对话框中,选定考生文件夹,在数据库名中填入sdb. dbc,再点击保存按钮;这样便完成了数据库
27、的添加。第六步:在已新建的项目sdb_p的项目管理器中先选择数据标签,再选择表,最后点击添加(A),在弹出的”打开对话框中选定考生文件夹下的表STUDENT,再点击保存,这样自由表就添加到了数据库中。用同样的方法将表SC也添加到数据库中,在索引类型列中选择主索引,在索引表达式列中填入课程号,点击确定按钮,保存表结构。第十步:向表course, dbf输入内容,并保存。二、简单应用(2小题,每题20分,计40分)在考生文件夹下完成如下简单应用:1 .根据sdb数据库中的表用SQL SELECT命令查询学生的学号、姓名、课程名和成绩,结果按课程名升序排序,课程名相同时按成绩降序排序,并将查询结果存
28、储到s clist表中。2 .使用表单向导选择student表生成一个名为forml 的表单。要求选择student表中所有字段,表单样式为“阴影式叮按钮类型为图片按钮;排序字段选择学号(升序);表单标题为学生基本数据输入维护、本题主要考核点:SQL语言中的查询、联接查询、查询的排序、查询的结果去向、利用表单向导建立表单等知识点。解题思路:第一小题:本题要用一个联接查询来实现。要得到的信息存放在三个不同的表中,所以要通过联接来得到所需要的信息。联接的条件:STUDENT.学号=SC.学号AND SC.课程号= COURSE.课程号放在WHERE子句的后面;结果集的排序需要 ORDER BY子句
29、,排序默认是升序如果要以降序排序需要DE SC;结果要放入一个永久表中要用到INTO TABLE子句,完整的查询语句:SELECT STUDENT.学号,姓名,课程名,成绩;FROM STUDENT, SC, COURSE;WHERE STUDENT.学号=SC.学号 AND SC.课程号=COURSE.课程号;ORDER BY课程名,成绩DESC;INTO TABLE SCLIST第二小题:第一步:打开在基本操作题中所建立的项目sdb_p. pjx第二步:在项目sdb_p的项目管理器中,先选择文档标签,再选择表单,最后点击新建(N)按钮。第三步:在弹出的新建表单”对话框中点击表单向导(W),
30、并在弹出的W向导选取对话框中,在选择要使用的向导中选择表单向导,点击确定按钮.第四步:在表单向导步骤一的字段选取中,选定student 表,并将其全部字段放入选定字段中,点击下一步;在步骤二的选择表单样式中的样式类型中选择阴影式,在按钮类型中选择图片按钮,点击下一步;在步骤三排序次序中选择按学号的升序排序,点击下一步;在步骤四完成中在表单标题文本框中输入:学生基本输入数据维护,点击完成按钮。在弹出的另存为对话框,从对话框中选定考生文件夹,并输入forml. sex,点击保存按钮即可。三、综合应用(1小题,计30分)1 .打开基本操作中建立的数据库sdb,使用SQL的CR EATE VIEW命令
31、定义一个名称为SVIEW的视图,该视图的S ELECT语句完成查询:选课数是3门以上(不包括3门)的每个学生的学号、姓名、平均成绩、最低分和选课数,并按平均成绩降序排序。最后将定义视图的命令代码存放到命令文件Tl. PRG中并执行该文件。接着利用报表向导制作一个报表。要求选择SVIEW视图中所有字段;记录不分组;报表样式为随意式;排序字段为学号(升序);报表标题为学生成绩统计一览表;报表文件名为pstudent。2 .设计一个名称为form2的表单,表单上有浏览(名称为Commandl)和打印(Command2)两个命令按钮。鼠标单击浏览命令按钮时,先打开数据库sdb,然后执行SELEC T语
32、句查询前面定义的SVIEW视图中的记录(两条命令不可以有多余命令),鼠标单击打印命令按钮时,调用报表文件pstuden浏览报表的内容(一条命令,不可以有多余命令)。本题主要考核点:视图的建立方法、利用报表向导建立报表的方法、表单的建立方法等知识点解题思路:第一小题:先打开数据库SDB,打开考生文件夹下新建的项目sdb -p. pjx,在命令窗口中输入下列命令来建立sview视图: CREATE VIEW SVIEW AS;SELECT SC.学号,姓名胃VG (成绩)AS平均成绩,MIN (成绩) AS最低分,COUNT (课程号)AS选课数;FROM SC,STUDENT;WHERE SC.
33、学号=STUDENT.学号;GROUP BY STUDENT.学号;HAVING COUNT (课程号)3;ORDER BY平均成绩DESC下面来建立Tl.prg程序,在项目sdb-p的项目管理器中,选择代码标签,再选择程序,点击新建(N)按钮,在打开的代码编辑窗口中输入sview视图的查询代码,即:S ELECT SC.学号,姓名,AVG (成绩)AS平均成绩,MIN(成绩) AS最低分,COUNT (课程号)AS选课数;FROM SC,STUDENT;WHERE SC.学号=STUDENT.学号;GROUP BY STUDENT.学号;HAVING COUNT (课程号)3;ORDER B
34、Y平均成绩DESC选择工具栏的保存按钮,以文件名Tl.prg保存在考生文件夹下。利用表单向导来建立表单:在项目sdb_p的项目管理器中,选择文档标签,再选择报表,点击新建(N)按钮,在弹出的新建报表对话框中选择报表向导,在弹出的向导选取对话框中选择报表向导,点击确定按钮,弹出报表向导,在报表向导步骤一字段选取中选择sview视图中的所有字段,然后点击下一步;在报表向导的步骤二分组记录中直接点击下一步;在步骤三选择报表样式中,选择报表样式类型为随意式,然后点击下一步;在步骤五排序记录中选择按学号的升序,然后点击下一步;在步骤六完成中输入报表的标题:学生成绩统计一览表,然后点击完成,在弹出的“另存
35、为对话框中的“保存报表为:文本框中输入:pstudent. frx报表名,保存在考生文件夹下即可。第二小题:在项目sdb.p的项目管理器中,选择文档标签,再选择表单,点击新建(N)在弹出的新建表单对话框中点击新建表单,系统打开表单设计器;点击工具栏按钮表单控件工具栏”,在弹出的表单控件中,选中命令按钮,在表单设计器中拖动鼠标,这样在表单上得到一个“命令按钮对象commandl,设置它的caption属性为浏览,双击commandl在打开的代码编辑器窗口中输入以下代码:open data sdbselect * from sview作为commandl的CLICK的事件代码。用同样的方法,在表单
36、上放置command2对象,它的Click 的事件代码为:REPORT FORM PSTUDENT. FRX PREVIEW以文件名form2. sex保存表单,并且保存在考生文件夹下。第二十三题一、基本操作题在考生文件夹下的数据库salarydb中完成如下操作:1.在数据库salarydb中建立表dept,表结构如下:字段名类型宽度部门号字符型2部门名字符型20随后在表中输入5条记录,记录内容如下:部门号部门名01制造部02销售部03项目部04采购部05人事部2 .为dept表创建一个主索引(升序),索引名和索引表达式均是部门号”。3 .通过部门号字段建立sal ary s表和dept表间的
37、永久联系。4 .为以上建立的联系设置参照完整性约束:更新规则为级联;删除规则为限制;插入规则为吓艮制、本题主要考核点:在一个数据库中添加一个新表、表结构的定义、索引的建立、建立表间的永久联系、为表间的永久性联系设置参照完整性约束等知识点本题解题思路:第一步:打开考生文件夹下的salarydb”数据库第二步:打开数据库菜单选择新建表(N),在弹出的“新建表”对话框中,点击新建表按钮,弹出创建对话框,选定考生文件夹,在输入表名文本框中输入:dept. dbf,再点击保存I第三步:在弹出的表设计器中按题面要求依次输入各字段的定义,单击索引标签,在索引名列输入部门号,在类型列选择主索引,在表达式列输入
38、部门号,在排序列使箭头向上,点击确定按钮,保存表结构。第四步:对表dept, dbf输入题面所要求的各字段的内容第五步:在数据库设计器中,选中dept表中的索引部门号”并拖动到表salarys的部门号的索引上松开,这样两个表之间就建立起了永久联系。第六步:在第五步建立好永久联系之后,在两处表的部门号索引之间有一条线,单击这条表示两个表之间联系的线,线会加粗,此时在主菜单中选择数据库中的编辑参照完整性(1)“,系统弹出参照完整性生成器”对话框,在更新规则标签中,选择级联规则,在删除规则中选择限制,在插入规则中选择限制,单击确定保存所编辑的参照完整性。二、简单应用(2小题,每题20分,计40分)在
39、考生文件夹下完成如下简单应用:1 .使用报表向导建立一个简单报表。要求选择salar ys表中所有字段;记录不分组;报表样式为随意式;列数为,,字段部局为列,方向为纵向;排序字段为雇员号(升序);报表标题为雇员工资一览表;才募文件名为 printlo2 .在考生文件夹下有一个名称为forml的表单文件,表单中的两个命令按钮的click事件下的语句都有错误,其中一个按钮的名称有错误。请按如下要求进行修改,修改完成后保存所做的修改:(1)将按钮刘缆雇员工资名称修改为浏览雇员工资 II(2)单击浏览雇员工资命令按钮时,使用SELECT命令查询salarys表中所有字段信息供用户浏览;(3)单击退出表
40、单命令按钮时,关闭表单。注意:每处错误只能在原语句上进行修改,不能增加语句行。本题主要考核点:利用报表向导来建立报表、表单的一些基础知识等知识点解题思路:第一小题:第一步:打开考生文件夹下的salary_db数据库第二步:在Visual FoxPro主窗口中按下组合键Ctr 1+N,系统弹出新建对话框,在文件类型中选择报表,点击向导按钮第三步:在弹出的向导选取对话框中选择“报表向导,点击确定按钮,弹出报表向导,在报表向导步骤一字段选取中选择salarys表中的所有字段,然后点击”下一步;在报表向导的步骤二分组记录中直接点击”下一步;在步骤三选择报表样式中,选择报表样式类型为随意式,然后点击下一
41、步;在步骤五排序记录中选择按雇员号的升序,然后点击下一步;在步骤六完成中输入报表的标题:雇员工资一览表,然后点击“完成,在弹出的另存为对话框中的保存报表为printl.frx报表名,保存在考生文件夹下即可。第二小题:(1)打开forml表单,选中浏缆雇员工资的CAPTION属性为浏览雇员工资,(2)双击浏览雇员工资”命令按钮,输入SELECT * FROM salarys,返回双击退出表单命令按钮,输入THISFORM. RELEASE.,三、综合应用(1小题,计30分)1 .请编写名称为change_c的程序并执行;该程序实现下面的功能:将雇员工资表salarys进行备份,备份文件名为bak
42、sals.dbf;利用人事部向财务部”提供的雇员工资调整表c.salaryl的工资,对salarys表的工资进行调整(请注意:按雇员号相同进行调整,并且只是部分雇员的工资进行了调整,其他雇员的工资不动);最后将salary s表中的记录存储到od_new表中(表结构与salarys表完全相同)2 .设计一个文件名为form2的表单,上面有调整(名称Commandl)和退出(名称Command2)两个命令按钮。单击调整命令按钮时,调用change-c命令程序实现工资调整;单击退出命令按钮时,关闭表单。注意:在两个命令按钮中均只有一条命令,不可以有多余命令。本题主要考核点:程序文件的建立方法、循环
43、结构、表单的建立方法等知识点解题思路:第一步:在Visual FoxPro主窗口中按下组合键Ctrl+N,系统弹出新建对话框,在文件类型中选择程序,点击新建文件按钮第二步:在弹出的代码编辑器窗口中输入以下代码:SET TALK OFFSET SAFETY OFFSELECT * FROM SALARYS INTO TABLE BAKSALSUSE C-SALARY1DO WHILE NOT EOF()UPDATE SALARYS SET 工资=C_SALARY1.工资;WHERE雇员号=C_SALARY1.雇员号SKIPENDDOSELECT * FROM SALARYS INTO TABLE
44、 OD.NEWCLOSE ALLSET TALK ONSET SAFETY ON第三步:以文件名change-c. prg将文件保存在考生文件夹下,并运行。第二小题:第一步:在Visual FoxPro主窗口中按下组合键Ctrl+N,系统弹出新建对话框,在文件类型中选择表单,点击新建文件按钮第二步:系统打开表单设计器;点击工具栏按钮表单控件工具栏W,在弹出的“表单控件中,选中命令按钮,在表单设计器中拖动鼠标,这样在表单上得到一个命令按钮对象commandl,设置它的caption属性为调整,双击co mmandl在打开的代码编辑器窗口中输入以下代码:DO CHAN GE.C. PRG作为com
45、mandl的CLICK的事件代码。用同样的方法,在表单上放置command2对象,它的Click的事件代码为:THISFROM. RELEASE第三步:以文件名form2. sex保存表单,并且保存在考生文件夹下。第二十四套一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)在考生文件夹下完成如下操作:1 .打开项目文件salary_p,将考生文件夹下的数据库s alarydb添加到该项目中。2 .在salary-db数据库中为dept表创建一个主索引(升序),索引名和索引表达式均是部门号;为salarys表创建一个普通索引(升序),索引名和索引表达式均是“部门号,再创建一个主索引(升序)、索引名和索引表达式均是雇员号I3 .通过部门号字段建立salarys表和dept表间的永久联系。4 .为以上建立的联系设置参照完整性约束:更新规则为限制;删除规则为级联;插入规则为限制本题主要考核点:索引的建立、建立两表之间的永久联系、编辑参照完整性、将数据库加入到项目中等知识点解题思路:第一步:打开考生文件夹下的项目salary-p第二步:在项目salary_p的项目管理器中,先