资源打包分享(解压密码:RainFly.cn):
1:无纸化VFP上机选择题
2:78套题电子书VFP
3:2012-2002年二级VFP历年考试真题
综合分析:
一、专业术语(P9-10)
表: 关系
列(字段):属性
行(记录):元组
二、vfp软件的安装
方法:请看第二集 VFP安装视频。
三、命令窗口的显示与隐藏(P24)
四、工具栏的显示或隐藏(P26)
五、项目管理器(pjx)(P31)
●它是VFP中文件(数据库、表、表单、菜单等)的管理和组织者,它为系统开发者提供了极为便利的工作平台。是系统的控制中心.。
1、创建项目; 2、打开项目
●项目管理器如何来管理文件:(P34- P36)
1、在项目中创建文件; 2、在项目中添加文件
★78套上机作业:23 (基12)、20 (基234)、48(基12)、57(基12)
注意:VFP中所有标点符号的输入都必须在英文输入法状态下输入。输入法切换:Ctrl+Shift。中英文切换:Ctrl+空格。
六、数据库(dbc)(第三章3.1节)
★上机考试时只需掌握: 建立、打开、关闭(必须用命令:close database)。
七、表(dbf):分为数据库表和自由表
1、数据库表(第三章3.2节P99):在数据库中建立的表就是数据库表。
●建立的步骤:在数据库设计器里面任意空白位置右击,选择“新建表”。保存后出现“表设计器”(P101):设计表的结构(框架)的。
●修改表结构(P102):在数据库设计器中, 在表的上面右击选择“修改”。
●浏览表:双击表。
增加记录:显示—>追加方式。
注意:如果录入记录时,不是行列形式的表格,请点击“显示”—》“浏览”。
★78套上机作业:19(基1)、9(基13)、21(基13)、10(基1)、59(基3)
2、自由表(第三章3.6节P117):不属于数据库中的表就是自由表。只有在当前没有数据库的时候,建立的表就是自由表。
●建立的步骤:“文件”→“新建” → 选择“表” →单击“新建文件”。
注意:当前不能有数据库。若有请先执行close database命令。
●修改表结构:首先,“文件”→“打开”→选择“文件类型” →选中你的表勾选“独占”之后再打开;
其次,“显示” →“表设计器”。
★78套上机作业:60(基12)、52(基1)、70(基14)、61(基2)、14(基4)
3、数据库表和自由表之间的转换(P118- P119)
●将自由表添加到数据库中:在数据库设计器空白处单击右键—>“添加表”。
●将数据库中的表移出去:在表上单击右键选择“删除”。(注意:“移去”表示移出成为自由表、“删除”表示彻底删除)
★78套上机作业:5(基1)、18(基1)、28(基12)、8(基1)、11(基1)
4、索引(特点之一:使用索引可以加速对表的查询操作)P109
分类:主索引、候选索引、唯一索引、普通索引
创建方法: 在表的上面右击选择“修改”→“索引”。(P110)
★78套上机作业:11(基12)、3(基12)、15(基12)、18(基123)、25(基1)
5、数据完整性(实体完整性、域完整性、参照完整性)P113
①若想字段中的值不允许重复,请给字段建立主索引或者候选索引(属于实体完整性P113):
●意思:保证表中记录惟一的特性,即在一个表中不允许有重复的记录。
●主索引又叫主关键字,候选索引又叫候选关键字。
②若想限制字段的取值范围,请给字段建立字段的有效性规则(属于域完整性P113):
●约束“性别”字段中只能输入”男”和”女”,规则表达式为:性别$”男女” (注意:所有的标点符号都必须在英文状态下输入)
●约束“年龄”字段在5岁至50岁之间,规则表达式为:年龄>=5 and 年龄<=50
★78套上机作业:2(基1234)、17(基12)、21(基12)、27(基1)、28(基1234)、42(基12)
③建立表之间的联系P114:
●首先找到两个表中共同的字段名,在父表中为该字段建立主索引,
在子表中为该字段建立普通索引,然后选中主索引不放,拖动到普通索引上即可。
★78套上机作业: 3(基3)、5(基3)、8(基2)、11(基3)、15(基4)、18(基4)、21(基4)、23(基4)、67(基3)
④设置参照完整性P116:
●在连接线上,单击右键选择“编辑参照完整性”。
(若需要清理数据库:选择“数据库”菜单?—>“清理数据库”之后重新操作)。P116
★78套上机作业:3(基4)、5(基4)、11(基4)、73(基3)
八、SQL(第四章P128):数据查询(核心)、数据操作、数据定义、数据控制。
★SQL——数据查询(P128)使用SELECT命令,格式如下:
SELECT ① FROM ② [ WHERE ③ ] [ GROUP BY ④ [HAVING ⑤ ]] [ORDER BY ⑥ ]
解释(P129):
●SELECT后面填写“字段名”、“表达式”或者“别名”。
●FROM后面填写所查询的数据来源于哪个表,填“表名”。
●WHERE后面填写查询的条件,把满足条件的记录查出来。
●GROUP BY后面填写字段名。对查询结果进行分组,可以利用它进行分组汇总(对每组中的数据进行计算)。HAVING短语必须跟随GROUP BY使用,用来限定分组必须满足的条件。
●ORDER BY后面填写字段名,对查询结果进行排序。⑥的后面填写ASC为升序,DESC为降序。不写默认表示升序。
课本例题:4.1、4.2、4.3、4.11、4.12、4.13、4.14、4.15;计算查询(4.16、4.17、4.20);4.21、4.22、4.23、4.24、4.35、4.36
●查询去向(重要考点):P143-P144(2-6)。
如“into table 表名”,意思是“将查询的结果存储(存放)到永久表中”。短语写在SELECT查询命令的最末尾。
★78套上机作业:
对一个表进行查询题:2(简1)、7(简1)、14(基1)、22(简1)、27(基4)、29(简2)、42(基4)、55(简2)、61(基4)、65(简1)、72(简1)、74(基4、简2)
对多个表进行查询题(利用查询设计器查询):5(简1)、9(简2)、12(简2)、16(简1)、17(简2)、20(简2)、28(简2)、33(基4)、35(简2)、37(简1)、48(简1)、51(简1)、52(简12)、58(简1)、75(简1)、71(简1)、67(简1)
特难题:41(简1)、70(简1)、71(简1)
★SQL——数据操作(P144):插入数据(INSERT)、更新数据(UPDATE)、删除数据(DELETE)
1、 插入数据(“1101002”,”2#101”,”二二”,”男”,20,”13131313331”)
●INSERT INTO 学生 VALUES(“1101002”,”2#101”,”二二”,”男”,20,”13131313331”)
●INSERT INTO 学生(学号,姓名,性别,年龄) VALUES("1101003","三三","女",19)
2、 更新数据
●UPDATE 学生 SET 年龄=20 解释:把学生表中年龄所有的值修改为20岁。
●UPDATE 学生 SET 年龄=20 where 性别=”男” 解释:把学生表中性别为“男”的年龄修改为20岁。
解释:Where后面的式子是条件,只有满足该条件的记录,年龄中的值才被修改。
3、 删除数据
●DELETE FROM 学生 解释:删除学生表中的所有记录。
●DELETE FROM 学生 WHERE 年龄>=24 解释:删除学生表中年龄大于等于24岁的记录。
注意:DELETE命令是逻辑删除(给记录添加删除标记);若想彻底删除,请接着使用PACK命令,该命令是物理删除。
★SQL——数据定义(P147):表结构的定义、表的删除、表结构的修改、视图的定义(P151以后再讲)。
1、表结构的定义(设计)(P147):CREATE TABLE 表名(……)
●CREATE TABLE 宿舍(宿舍号 C(8),人数 N(5),宿舍类别 C(10),宿舍长 C(10))
●CREATE TABLE 宿舍(宿舍号 C(8) PRIMARY KEY,;
人数 N(2) CHECK 人数<100 ERROR “人数一定要小于100” DEFAULT 10,宿舍类别 C(10),宿舍长 C(10))
字段的后面跟的命令所表示的意思:
●PRIMARY KEY:给字段设置主索引
●CHECK表示规则、ERROR表示信息、DEFAULT表示默认值,
有三种形式:CHECK 逻辑表达式
CHECK 逻辑表达式 ERROR 字符串表达式
CHECK 逻辑表达式 ERROR 字符串表达式 DEFAULT 默认值
★78套上机作业:16(基3)、36(基3)、40(基3)
2、表的删除:DROP TABLE 表名 (P150)
3、表结构的修改:用ALTER TABLE修改表结构(P150)
●增加字段:ALTER TABLE 学生 ADD COLUMN 籍贯 C(20)
为表“金牌榜”增加一个字段“奖牌总数”(整型),同时设置字段有效性规则为:奖牌总数>=0
ALTER TABLE 金牌榜 ADD COLUMN 奖牌总数 I CHECK 奖牌总数>=0
●修改字段名称:ALTER TABLE 学生 RENAME COLUMN 联系电话 TO 手机号码
●删除字段:ALTER TABLE 学生 DROP COLUMN 手机号码
注意:以上三条命令中的COLUMN可以省略不写。
●对指定的字段修改类型和宽度:ALTER TABLE 学生 ALTER 年龄 N(3)
●对指定的字段修改(添加)规则、信息和默认值,形式有:
SET CHECK 性别=”男” OR 性别=”女” SET CHECK 性别=”男” OR 性别=”女” ERROR “性别必须输入男或女” SET DEFAULT “男” |
ALTER TABLE 学生 ALTER 性别
★78套上机作业: 39(基3)、43(基3)、32(基3)、35(基4)、38(基4)、77(基4)
●为student表建立一个候选索引,索引名和索引表达式都是学号:ALTER TABLE student ADD UNIQUE 学号 TAG 学号
★78套上机作业SQL题: 76(基2)
★78套上机作业SQL题:10(基1)、14(简2)、16(基34)、22(基4)、24、30(基3)、43、47、53(基12)、54(简2)、57(简1)、59(基4)、60(基4)、62、68、70(简1)
4、视图的定义(P151):CREATE VIEW 视图名 AS SELECT查询命令
78套上机练习题:8(简2)、30(简1)、38(简1)、41(简2)、43(简2)、69(简2)、72(简2)
九、查询设计器(qpr)(第五章5.1节)
★78套上机作业:(简1):1、3、4、6、18、25、26、27、29、31、33、34、42、44、45、46、62、68、73
(简2): 11、13、15、18、40、53、57、63、77(综):24
1、新建查询(文件—新建—勾选“查询”)
2、添加表(按题目中表的顺序依次添加表,连接条件按默认设置点击“确定”)
3、查询设计器中,一般情况下就设置“字段”、“筛选”、“排序依据”。
4、查询去向(“查询”菜单—查询去向)
5、保存
6、运行
十、视图设计器(第五章5.2节)
★78套上机作业:(简2):1、4、6、34、36、39、44、43、46、56、60、72、76;(简1):30、55
1、新建视图(在数据库设计器里面任意空白位置右击,选择“新建本地视图”)
2、添加表(按题目中表的顺序依次添加表,连接条件按默认设置点击“确定”)
3、视图设计器中,一般情况下就设置“字段”、“筛选”、“排序依据”。
4、设置筛选条件(有就设置)
5、保存视图(知识:视图是保存在数据库中的)
6、若要求将视图中的全部信息查出来存储到一个表中,命令如下:
select * from view1 into table table2 (一定要按回车执行)
十一、表单(scx)(第六章P172):软件(应用程序)的界面。
1、使用表单向导创建表单(6.3节P178)
提示:单击“工具”菜单 → “向导” →“表单”→选“表单向导”或“一对多表单向导”点击“确定”
→根据向导对话框中的提示制作。
★78套上机作业::14(基2)、31(基1)、32(简1)、71(简2)、43(简1)、54(简1)
2、使用表单设计器创建表单:
“文件”→“新建” → 选择“表单” →单击“新建文件”,之后出现表单设计器窗口,里面的组成部分有:P181
●“表单设计器”窗口:我们就是在里面的表单上进行设计的。
●“表单控件”工具栏:里面的东西是被添加到表单上的;
单击“显示”菜单中的“表单控件工具栏”可以对它进行显示和隐藏。
● “属性”窗口:用来对控件(对象)设置属性的;单击“显示”菜单中的“属性”可以对它进行显示和隐藏。
提示:表单的常用属性要记熟。(P187)
78套基本操作题:1、4、6、7、12、26、34(基234)、36(基12)、38(基12)、39(基12)、44、45、46、49(基23)、50(基4)
78套简单应用题:3(简2)、5(简2)、10(简2)、13(简1)、15(简1)、16(简2)、18(简1)、19(简2)、20(简1)、21(简1)、25(简2)、30(简2)、33(简2)、35(简1)、37(简2)、47(简1)、48(简2)、53(简1)、60(简1)、64(简12)、68(简2)、74(简1)、78(简1)
78套综合应用题:21、24、40、62、68
3、运行表单:P180
方法一:DO FORM 表单文件名
方法二:单击常用工具栏上的感叹号或者单击“表单”菜单中的“执行表单”。
十二、菜单文件(mnx)(第七章P224)
1、下拉式菜单设计(7.2节P226):由主菜单(条形菜单)和子菜单构成。
设计步骤:文件—>新建—>选择“菜单”点击新建文件按钮—>点“菜单”按钮后出现“菜单设计器”。
★78套上机作业:2(简2)、21(简2)、23(简2)、50(简2)、51(简2);
注意:菜单保存后,菜单文件的扩展名为mnx;保存后必须要生成,单击“菜单”菜单中的“生成”按钮,
将菜单生成扩展名为mpr菜单程序文件。(解释:只有生成扩展名为MPR,菜单才可以被运行,
运行菜单的命令为:DO 菜单文件名.mpr 注意:运行时,mpr扩展名不能省略。)P227-P228
2、为顶层表单添加菜单(7.2.3节P235):意思是将菜单添加到表单上。
★78套上机作业:65(简2)、49(简2);
注意:首先把表单和下拉式菜单设计好,之后:
在菜单设计器中,点击“显示”—>“常规选项”(勾选“顶层表单”),之后保存并生成;
在表单中把表单的ShowWindow属性设置为“2—作为顶层表单”(否则无法把菜单添加到表单中);
最后双击表单,弹出代码窗口,在 “init”或者“load” 过程(事件)中编写运行菜单的代码(格式如下):
Do 菜单名.mpr with this,”suibian”
解释: Init或load:该过程中写的代码,表单运行时代码自动被执行。
3、快捷菜单设计(7.3节P237)
设计步骤:文件—>新建—>选择“菜单”点击新建文件按钮—>点“快捷菜单”按钮后出现“快捷菜单设计器”。
★78套上机作业: 31(简2)、67(简2)、74(简1)。
第1套提示:在表单中调用快捷菜单的方法是:
双击表单,在表单中选择rightclick事件,写如下命令:do menu_quick.mpr
解释:RightClick: 在表单中单击鼠标右键,该过程中的代码被执行。
4、78套杂题:16(基1):水平的分组线是:\-。“退出”菜单项的“结果”中选择“命令“,命令为:SET SYSMENU TO DEFAULT。
22(基1):设置访问键用\<,P228。35(基1)、56(基4)
十三、报表(frx)(第八章P241)
1、使用报表向导创建报表:(工具—>向导—>报表)
★78套报表向导题:10(基1)、11(简1)、19(简1)、26(简2)、45(简2)
★78套一对多报表向导题:8(简1)、22(简2)、24(简2)、28(简2)、58(简2)、49(基4)
2、使用快速报表创建报表(P247):
★78套上机作业:9(基4)、16(基2)、35(基2)、70(简2)
十四、程序(prg)改错题
7(简2): 第1处:PARAMETERS a,b。第2处:RETURN c。
12(简1): 第1处:函数调用而不是过程调用,所以应改为:carea=cya(r,h)。第2处:函数返回应返回值,所以应改为:RETURN C
14(简1): 第1处:判断是否找到,所以应改为:DO WHILE FOUND() 第2处:如果是“女”,则继续,所以应改为:LOOP
第3处:继续查找下一个,所以应改为:CONTINUE
17(简1): 第1处:打开customer表,所以应填:USE customer
第2处:显示所有“北京”客户的信息,所以应改为:SCAN FOR 所在地="北京"
23(简2):第1行:OPEN DATABASE sdb。第2行:CREATE VIEW S_VIEW AS;。第5行:将逗号改为and,注意and的左右要有空格。
24(简1):第1行:将“=”改为IN。第3行:GROUP BY 零件号 HAVING COUNT(项目号) = 3)。第5行:TO FILE results
27(简2):第3行:FROM 客户 JOIN 入住 ON 客户.客户号=入住.客户号; 第5行:(SELECT 入住日期;
第7行:WHERE 客户.客户号=入住.客户号 and 姓名="姚小敏"); 第8行:INTO TABLE TABC
32(简2):第5行:(一季度利润+二季度利润+三季度利润+四季度利润)/(一季度销售额+二季度销售额+三季度销售额+四季度销售额) AS 利润率;第6行:FROM S_T,DEPT;第8行:ORDEY BY 年度,利润率 DESC;第9行:INTO TABLE S_SUM
36(简1):第1处:DO WHILE NOT EOF()
第2处:SELECT COUNT(*) FROM 歌手表 WHERE LEFT(歌手表.歌手编号,2)=zuhao INTO ARRAY A
第3处:REPLACE 歌手人数 WITH A[1]
38(简2):第1处:DO WHILE not EOF()第2处:ENDIF第3处:SKIP第4处:IF flag=0
39(简1):第4行:DO WHILE NOT EOF()第6行:SELECT COUNT(*) FROM 教师表 WHERE 教师表.系号=xihao INTO ARRAY A
第8行:SKIP
42(简2):第3行:WHERE 性别 = "女" and 会员号 =ANY; 第6行:WHERE 数量 >= 10;
第7行:GROUP BY 会员号 HAVING SUM(数量*单价) >= 5000);
47(简2):第1处: store 0 to x,s1,s2,s3。第2处:x=val(thisform.text1.value)。第3处:if mod(x,3)=0
49(简1):第1处:在CREATE后面加一个view。
第2处:SELECT * FROM viewes WHERE 总金额>=30000 ORDER BY 总金额 DESC INTO table newtable
50(简1):第1处 查找姓名,所以应改为:locate for 姓名="林诗因" 第2处 判断记录是否到底,应改为:DO WHILE NOT EOF()
第3处 累计人民币价值数量,所以应改为:summ=summ+a[1] * 持有数量
59(简2):第1处 增加一个字段,所以应改为:ALTER TABLE 学生 ADD 平均成绩 N(6,2)
第2处 判断记录是否到底,应改为:DO WHILE NOT EOF()
第3处 替换平均成绩,所以应改为:REPLACE 平均成绩 WITH cj[1]
62(简2):第1处:统计总盈余,所以应改为:SELECT SUM((现价-买入价)*持有数量);
第2处:应改为:IN;第3处:条件是股票简称中有"银行"两字,所以应改为:WHERE "银行"$股票简称)
66(简2):第3行:INTO ARRAY tem 第6行:WHERE not exists; 第9行:WHERE 成绩 < tem(1) and 考生号 = ksb.考生号);
73(简2):第2行:SELECT student.学号,姓名,AVG(成绩) 平均成绩,COUNT(成绩) 选课门数;
第3行:FROM student JOIN sc ON student.学号 = sc.学号;
第4行:WHERE 性别 = "女"; 第5行:GROUP BY student.学号 HAVING AVG(成绩) >= 75
75(简2):第1处:所有器件的单价增加5元,所以应改为:UPDATE order_detail1 SET 单价=单价+5
第2处:计算每种器件的平均单价,所以应改为:SELECT 器件号,AVG(单价) AS 平均价 FROM order_detail1 group BY 器件号 INTO CURSOR lsb 第3处 查询平均价小于500的记录,所以应改为:SELECT * FROM lsb where 平均价 < 500
76(简1):第一处改为:SELECT 课程号 FROM 课程表 WHERE 课程名="数据结构" INTO ARRAY a 第二处改为:USE 教师表
第三处改为:SCAN FOR 课程号=a AND 工资>=4000 第四处改为: SUM=sum+1
77(简1):第一处改为:CREATE TABLE 工资表(职工号 C(8) PRIMARY KEY,姓名 C(6) ,工资 N(10,2))
第二处改为:INSERT INTO 工资表 VALUES ("11020034","宣喧",4500)
第三处改为:UPDATE 工资表 SET 工资=工资*1.1 WHERE 工资<3000
第四处改为:DELETE FROM 工资表 WHERE 姓名="Thomas"
78(简2):第二行改为:from employee p join employee c ;
第三行改为:on p.组别=c.组别 where c.职务="组长" and p.姓名!=c.姓名 ;
十五、编程题:
★78套上机作业:10(简1)
USE TABA
SCAN
X = B**2 - 4*A*C
IF X >= 0
XX1 = (-B + SQRT(X))/(2*A)
XX2 = (-B - SQRT(X))/(2*A)
REPLACE x1 with xx1,x2 with xx2
ELSE
REPLACE NOTE WITH "无实数解"
ENDIF
ENDSCAN
十五、类(P216例6.10)
十六、上机考试注意事项:
1、不要设置默认目录等其他选项,否则结果0分。
2、保存文件时,文件名不能输入错误,否则结果0分。
本文地址:https://www.rainfly.cn/?post=25
版权声明:若无注明,本文皆为“雨夜轩”原创,转载请保留文章出处。
只能坐地板啦!