《VFP》上机考试知识点汇集.docx

上传人:b****5 文档编号:7274873 上传时间:2023-01-22 格式:DOCX 页数:34 大小:651.25KB
下载 相关 举报
《VFP》上机考试知识点汇集.docx_第1页
第1页 / 共34页
《VFP》上机考试知识点汇集.docx_第2页
第2页 / 共34页
《VFP》上机考试知识点汇集.docx_第3页
第3页 / 共34页
《VFP》上机考试知识点汇集.docx_第4页
第4页 / 共34页
《VFP》上机考试知识点汇集.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

《VFP》上机考试知识点汇集.docx

《《VFP》上机考试知识点汇集.docx》由会员分享,可在线阅读,更多相关《《VFP》上机考试知识点汇集.docx(34页珍藏版)》请在冰豆网上搜索。

《VFP》上机考试知识点汇集.docx

《VFP》上机考试知识点汇集

VFP上机考试之五章真经

——考试知识点汇集

说明:

VFP上机考试由于年限已多,且每年两季共计16套试题,因此许多知识点已经是反复考察,因此将其中的比较常见的知识点列举给大家,希望能够给大家一些帮助。

概述:

上机考试时,监考发给你一张软盘和一张印有题目要求的试卷,按监考老师的提示在软盘上粘贴标签、写上姓名、准考证号等信息后,打开软盘,运行里面的一个“上机考试”文件,记住:

此文件比较大,双击一次以后要等大约10秒才能弹出界面,这期间切忌不要再次双击打开,以免重复打开出错。

第一章:

项目、数据库和表操作

一、项目管理器操作:

1)添加文件首先分清楚文件的类型,然后将其添加到相应的条目下面(注意:

选择不同类型的文件,则出现的文件不同)

【例题】①将软盘根目录中的表文件gzb.dbf添加为test项目中的自由表。

②将图标文件NET.ICO添加到项目中的合适位置。

③将软盘中XS.TXT文件添加到项目中。

2)设置项目信息给项目管理器加上作者信息、单位、附加图标等

具体操作:

在项目管理器上单击鼠标右键——>选择“项目信息…”

【例题】修改项目TEST的项目信息:

附加图标NET.ICO

3)删除文件

利用项目管理器中的“移去”按钮操作,选择要操作的文件,点击“移去”按钮,出现一对话框(如图1所示):

选择“移去”按钮,表示将文件从项目中移去,选择“删除”按钮,表示将文件从磁盘中删除。

图1

【例题】①利用项目管理器操作,将当前项目中所有的自由表移去并从磁盘上删除。

②利用项目管理器操作:

将数据库表XIM改为自由表,并将其添加到项目中。

(说明:

对于数据库表,“移去”是将数据库表从数据库中移出,变成自由表)

注:

以下4(4~7)个操作是:

选择某要操作的文件后——>单击鼠标右键——>选择具体操作

4)设置包含、排除将某个文件(比如某个表)的属性改为“包含”或“排除”

5)设置编辑说明【例题】为js表添加编辑说明为“教师基本信息表”

说明:

设置好以后,将在项目管理器中的状态栏中的“说明:

”中显示出来,可以以此来检查

6)重命名【例题】利用项目管理器操作:

将XIM表改名为XIMB表,并为其设置说明“系名表”。

7)设置“主文件”在一个项目中,只能有一个主文件(即:

第二次设置时前一次设置自动作废),显示时该项用粗体表示,并不是所有文件都可以设置成主文件,可以设置成主文件的文件类型:

程序、表单、查询和菜单。

【例题】把软盘根目录中的程序文件main.prg添加到TEST项目中的适当位置,并将该文件设置为项目的主文件。

二、数据库表、自由表(自由表)

表结构的修改(1~11)

1)设置标题标题含义:

该字段的字段名在浏览窗口中显示为设置的标题

【例题】①将gz表中工作日期(gzrq)字段的标题设置为“工作日期”

②设置国际标准图书编号(isbn)字段的标题属性,使该字段的字段名在浏览窗口中显示为“国际标准图书编号”。

③设置cj字段的有关属性,使该字段的字段名在浏览窗口中显示为“百分制成绩”。

2)设置长表名【例题】为表设置长表名:

学生表。

(注:

设置后,在项目管理器等窗口中XS表的表名将显示为“学生表”)。

3)字段宽度字段所容纳的最大的字符数。

【例题】①修改jg字段的宽度,使之能容纳4位整数和2位小数(宽度为:

7)

②添加一个字符型字段,字段名为zzmm,其宽度以最多能存储字符串“中共党员”为准(宽度为:

8)

4)字段注释【例题】设置grsds字段的注释:

基本工资1000元以上征税;

5)字段有效性规则控制输入到字段中的数据的取值范围,该规则是一个逻辑表达式,且当前字段包含在该表达式中。

如果结果为.F.,则拒绝所输入的字段值,并显示提示信息.(只要看题目中出现“字段”两个字,或出现具体某个字段名,就在“字段选项卡”,选择要操作的字段。

【例题】①设置kc表的xf字段有效性(验证)规则:

大于等于0且小于等于6(答案:

xf>=0andxf<=6)

②设置rkrq字段的有效性规则,要求不超过当前系统日期。

(答案:

rkrq

③设置xb字段的有效性(验证)规则,要求性别必须为“男”或“女”;(答案:

xb$”男女”)

④设置kss字段的有效性(验证)信息:

课时数范围为2~8(答案:

kss>=2andkss<=8)

字段有效性信息:

【例题】设置将kc表的xf字段有效性(验证)信息:

某一门课的学分不能大于6

【答案】”某一门课的学分不能大于6”【记得要加英文引号】

6)记录有效性(验证)规则可以校验多个字段之间的关系是否满足某种规则,该规则也是一个逻辑表达式.(看题目中出现“表”或“记录”的字,就在“表选项卡”操作。

【例题】①为js表设置有效性(验证)规则:

工作日期(gzrq)与出生日期(csrq)之间至少相差20年

【答案】Year(gzrq)-Year(csrq)>=20

②设置表的记录有效性规则,要求kss值比xf值大(注:

对现有数据不验证此规则)。

【答案】kss>xf

③设置GZ表的记录有效性(验证)规则:

如果jbgz小于1000元,grsds的值为0,否则grsds的值为jbgz的5%(该规则对表中已有数据不作验证):

【答案】grsds=iif(jbgz<1000,0,jbgz*0.05)

“该规则对表中已有数据不作验证”的操作:

在设置完规则和信息后,点击“确定”按钮,则出现如右图,只需将复选框的“√”去掉。

记录有效性(验证)信息:

【例题】教师参加工作时至少20岁;【答案】”教师参加工作时至少20岁”【记得要加英文引号】

5)默认值【例题】①为性别(xb)字段设置默认值为“男”【答案】‘男’【记得要加英文引号】

②设置必修课(bxk)字段的默认值为逻辑真(.T.)

③将xb的默认值设置为空值(Null)。

【答案】.NULL.

解说:

很多同学为默认值的写法犯愁,到底要不要加引号或其它符号呢?

其实默认值就是给这个字段赋值,赋值类型不同,写法当然不同,如.T.、‘男’、{^1980-11-13}等

6)格式用于指定字段显示时的格式,是整个字段的格式。

常考点:

要求去掉前后空格:

输入大写字母T,

将字母转成大写显示(仅显示的时大写,实际上数据表里面仍然是小写):

输入!

7)输入掩码用于指定字段中输入数据的格式,是每个字符的格式。

要求会计格式:

999,999.99[表示六位整数位,用逗号做千分位,两位小数]

【例题】①设置kcdh字段的InputMask属性,使该字段的值只能是数字字符。

【答案】9999(kcdh字段的宽度为4,所以是4个9)

8)显示类其作用是指定在使用“表单向导”生成表单或数据环境中将字段拖放到表单上时,与该字段相应的控件类。

注意:

要记住各个控件的英文名字。

【例题】①设置bxk字段的有关属性,使得将该字段从表单的数据环境中拖放到表单上时,生成的相应控件为文本框控件。

②设置册数(cs)字段的有关属性,使得将该字段从表单的数据环境中拖放到表单上时,生成的相应控件为微调框控件。

9)添加字段,修改字段,删除字段等(略)

10)触发器绑定在表上的逻辑表达式,是在插入、更新、删除记录时进行的检验规则。

返回值为.T.时,允许执行相应操作,.F.时不允许执行相应操作。

触发器文本框中写入“允许”执行该操作时候的条件

【判断年份】为js表设置更新触发器:

仅允许修改2001年(含)以后参加工作的教师记录

Year(gzrq)>=2001

【字符型判断】为RK表设置插入触发器:

工号为“A0001的记录允许插入,否则不允许插入

gh=’A0001’

【限制开头字母,告之不允许条件】为RK表设置插入触发器:

工号以t或s开头的记录不允许插入

NOT(left(gh,1)=’t’ORleft(gh,1)=’s’)

题干中给出的是不允许条件,因此要在总的结果前面加上NOT,注意工号小写

【不允许删除】为KC表设置删除触发器:

不允许删除

.F.(允许删除的条件永远不为真)

【数字开头】已知数字0的ASCII码为48,9为57,为xs表设置插入触发器:

学号必须以数字开头,否则不允许插入

Between(ASC(xh),1),48,57)或ASC(xh)>=48AndASC(xh)<=57(只写允许时候的条件)

【判断为空】工号为空允许删除Empty(gh)

【判断长度】学号长度为6位Len(xh)=6

【其它条件】教师表打开时候允许更新Used(“js”)

11)索引表达式注意各种不同情况下的书写方法,分清楚索引名称(标识)和索引表达式

【单个字段】按ylbx(养老保险)创建一个普通索引,标识名为ylbx,要求按ylbx降序排序

【字符+数字】为gz表创建一个候选索引ghsfgz,要求按gh字段排序,gh相同再按sfgz排序

索引标识为:

ghsfgz表达式为gh+Str(sfgz)sfgz为数值型

【字符+字符】为xs表创建普通索引xdhzydh,要求按xdh排序,xdh相同再按zydh排序

索引标识为:

xdhzydh表达式为xdh+zydh为什么不要加STR?

【字符+日期】为xs表创建普通索引xdhcsrq,要求按xdh排序,xdh相同再按csrq排序

索引标识为:

xdhcsrq表达式为xdh+Dtoc(csrq,1)为什么要用,1

【首字母+数值】为gz表创建普通索引ghsfgz,要求按gh排序,gh相同再按sfgz排序

索引标识为:

ghsfgz表达式为Left(gh,1)+STR(sfgz)

【数值+数值】已知cj表中有两门课程成绩cj1和cj2,创建索引先按cj1排序,再按cj2排序

表达式为STR(cj1)+STR(cj2)

【数值+数值型】已知cj表中有两门课程成绩cj1和cj2,创建索引按总成绩排序

表达式为cj1+cj2

【其他】创建一个普通索引recsort,按物理记录顺序的倒序排序,即记录号为1的记录排最后。

表达式为recno()排序:

降序

12)替换字段替换字段是最头疼的题,分值高(2分),每年必考

(当题目中出现“修改”、“计算”、“调整”、“替换”或“填写╳╳字段的值”等,就为该题型)

1、修改gzb表中所有记录的zfbt(住房补贴)字段的值,规则为:

1998年(含1998年)以后参加工作的教师(注:

gzrq字段为工作日期)其住房补贴为基本工资(jbgz)的19%,而其他教师没有住房补贴。

打开gzc表,并浏览,选择“表”菜单里面的“替换字段”

字段:

jbgz

替换为:

zfbt*0.19(这里只写字段的新值,千万不要写成jbgz=zfbt*0.19带等号形式)

作用范围:

All

For:

Year(gzrq)>=1998

2、修改gzc表中所有教授的记录,计算(医疗保险)ylbx,算法为:

医疗保险为基本工资的19%

答案

字段:

ylbx

替换为:

zfbt*0.19

作用范围:

All

For:

zc=‘教授’

3、根据jg字段的值来填写jiguan字段的值:

如果jg值为两个汉字,则加“市”,否则在前两个汉字后加“省”、最后加“市”。

例如jg为“上海”,则jiguan为“上海市”;jg为“江苏南京”,则jiguan为“江苏省南京市”;jg为“江苏张家港”,则jiguan为“江苏省张家港市”,等等。

答案

字段:

jiguan

替换为:

iif(len(jg)=2,jg+”市”,left(jg,2)+”省”+substr(jg,3)+”市”)

作用范围:

All

4、将GZ表中基本工资(jbgz)在1000元以上(包括1000元)记录的其他(qt字段清为零)。

5、在JS表中更改所有教师记录的简历(jl),修改方法为:

将gzrq转化为字符串,然后在字符串的前面加上“工作日期:

”,且不管原来日期是哪一种显示格式,转化后的字符串格式都为yyyymmdd。

如gzrq字段值为08/09/70,则更改以后该记录简历字段的值为“工作日期:

19700809”。

注意:

很多限制条件隐含在题干中,请仔细看题

说明:

以上操作可以用命令(UPDATE—SQL或REPLACE)实现

13)插入记录浏览表,“显示”—“追加新记录”

14)删除记录删除记录分逻辑删除(作删除标记)和物理删除(彻底删除),具体操作为:

打开要操作的表,并浏览,选择“表”菜单里面的“删除记录”

【例题】将xs表中籍贯(jg)不属于“江苏”的记录作逻辑删除

打开要xs表,并浏览,选择“表”菜单里面的“删除记录”

作用范围:

All

For:

jg!

=”江苏”

说明:

若是彻底删除,要再选择“表”菜单里面的“彻底删除”或在命令窗口中输入:

PACK。

逻辑删除也可以用命令(DELETE—SQL或DELETE—FOR)实现。

15)永久关系在数据库设计器中,拖动主表的主索引,拖到从表的普通索引上去

16)参照完整性在数据库设计器窗口打开情况下,选中连线,点右键,“编辑参照完整性”

如有错误窗口,请参考窗口中的提示,进行“数据库”菜单中的“清理数据库”

更新规则:

级联、限制、忽略(对主表而言)

更新级联:

当修改主表的关键字的值时,若子表有相应的记录,则同步修改子表的记录。

更新限制:

当修改主表的关键字的值时,若子表有相应的记录,则禁止对主表记录的修改。

更新忽略:

当修改主表的关键字的值时,不管子表有无相应的记录,只更新主表。

删除规则:

级联、限制、忽略(对主表而言)同更新规则

插入规则:

限制、忽略(对子表而言)

插入限制:

当向子表中插入一个新记录或更新一个已经存在的记录时,若主表中不存在匹配的关键字值,禁止插入。

插入忽略:

当向子表中插入一个新记录或更新一个已经存在的记录时,不管主表,允许插入。

三、保存问题

在这一大题中,保存是不需要点击常用工具栏上的“保存按钮”的,具体保存方法为:

1.对项目管理器操作的题目,只要在有“确定”按钮的窗口中点击“确定”即可,如没有“确定”按钮,例如把文件改为“排除”等,只要按指定的操作即可,并且可以查看到结果。

2.

对于修改表结构的题目,在做完题目后,点击“确定”按钮,出现如下图1所示对话框,点击“是”,就保存好了。

切记不要点击“取消”按钮或窗口右上角的“关闭”按钮,否则将会出现如下图2所示,就会放弃结构的修改,这样就没有保存做过的题目。

图1图2

3.对于修改表记录的题目,包括插入、更新、删除记录,操作完就自动保存,无须再保存了。

4.对于数据库修改的题目,永久关系的保存,自动的,参照完整性的保存,只要在出现的对话框中点击“确定”或“是”按钮就保存好了。

第二章、设计查询

1、考试时不用新建查询,软盘中项目test中“查询”下面有一个“chaxun”,双击打开查询设计器

2、数据源的添加:

添加表和视图,注意如果是多个表(或查询)的话,按给定的顺序添加表和视图,要留意联接的类型,默认的联接类型为内联接。

联接类型:

内联接、左联接、右联接和外联接。

内联接:

以两张表相同字段的交集为输出结果;

左联接:

以两张表相同字段中左边表字段的集合为输出结果;

右联接:

以两张表相同字段中右边表字段的集合为输出结果;

完全联接:

以两张表相同字段的并集为输出结果;

3、字段:

(1)对于字段列表中有的字段,直接双击即可添加到右侧,反之需要使用下列函数编辑

(2)合计函数表达式:

count()、sum()、avg()、max()、min()

Count():

学生人数,教师人数,课程门数等这些是将表中的行进行数数,用Count(*)没有条件限制;

Sum():

对某个数值型字段求和,如对cj求和得到总成绩,对xsl求和得到总销售量,对xf求和得到总学分,对jbgz求和得到工资总额;

Avg():

对某个数值型字段求平均,如对cj求和得到平均成绩;

Max()、Min():

对某个字段求最大值,最小值(一般指数值型的字段)

说明:

一般要给这些函数指定列标题,用AS短语实现,例如:

sum(cj.cj)as总分

(3)其它函数表达式:

例如:

left(xh,2)as年级,year(date())-year(csrq)as年龄等

(4)字符串常量:

在输出结果中该列将以字符串的内容为结果

说明:

AS短语可以用在上面4种情况。

4、筛选:

对表(数据源)中某个或某几个原始字段(不是计算出来的字段)进行限制,如xb=”男”,也可以是SELECT—SQL命令

5、排序:

记得同时有几个排序条件时候,每个字段可以有不同的升序/降序选择

6、分组:

指定把那些字段中相同的记录值放在一起运算(如求平均、求和,计数等)

说明:

在一般情况下,只要在前面用到了合计函数中的任何一种,就要分组。

分组的依据要看用到合计函数的字段的定语,例如:

基于XSST视图和专业(ZY)表查询每个系各专业男、女生的人数。

其中人数要用到合计函数count(),人数的定语为:

系、专业、男女生,所以分组依据就为:

xdh、zydh、xb。

满足条件:

对计算出来的字段(查询结果),如“总成绩”、“课时酬金”进行条件限制

7、杂项:

指定只显示前多少项或前多少百分比的记录显示、是否显示重复记录等

【例题1】在SJK中包含一个名为RKVIEW的视图,该视图中包含教师的任课情况,其中有教师上的每一门课的课时数(kss)。

假定教师的上课酬金为每学时20元,按如下要求修改查询:

基于RKVIEW视图和教师(JS)表,查询每个教师的上课总学时及上课酬金,要求输出字段为:

gh、xm、xb、总学时、上课酬金,查询结果按gh的升序排序。

解答:

字段:

js.gh、js.xm、js.xb、Count(rkview.kss)as总学时、Count(rkview.kss)*20as上课酬金

筛选:

排序:

js.gh

分组:

js.gh【为什么要用工号分组?

杂项:

【例题2】在SJK中包含一个名为XSST的视图,该视图中包含学生的性别(xb),所在的系代号(xdh)、系名称(ximing)、专业代号(zydh),另外在SJK的专业(zy)表中包含有专业名称(zymc)字段。

按如下要求修改查询:

基于XSST视图和专业(ZY)表查询每个系各专业男、女生的人数。

要求输出字段为:

xdh、ximing、zydh、zymc、xb、学生人数,查询结果按xdh的升序排序,如果xdh相同,则按zydh的升序排序。

解答:

字段:

xsst.xdh、xsst.ximing、xsst.zydh、zy.zymc、xsst.xb、Count(*)as学生人数

筛选:

排序:

xsst.xdh、xsst.zydh

分组:

xsst.xdh、xsst.zydh、xsst.xb【本题目是理解“分组”的最好例题】

杂项:

【例题3】TEST项目中已经存在查询chaxun,且在SJK中学生(XS)表包含学号(xh)、姓名(xm)、性别(xb)、班级编号(bjbh)、系代号(xdh)和专业代号(zydh)字段,专业(ZY)表含有专业代号(zydh)和专业名称(zymc)字段。

按如下要求修改查询:

基于XS表和ZY表查询“01”年级每个专业女生所占比例。

要求输出字段包括:

zydh、zymc、年级、女生人数、总人数和女生所占比例,查询结果按女生所占比例从高到低排序(bjbh字段值的前二位表示年级)。

解答:

字段:

xs.zydh、zy.zymc、Left(bjbh,2)As年级、Sum(iif(xb=’女’,1,0))as女生人数、Count(*)as总人数

Sum(iif(xb=’女’,1,0))/Count(*)as女生所占比例

[本题是理解条件计数的最好题目,注意这里有一处用Sum来数记录条数]

由于同时要求计算全体人数和女生人数,而分组是根据zydh(分组之后每组有男有女),显然不能再一概用Count(*)计算,Count(*)计算总人数,而用Sum来进行“条件计数”来计算女生数。

筛选:

排序:

女生所占比例降序

分组:

xs.zydh

杂项:

【例题4】在TEST项目中已经存在查询chaxun,已知在SJK的学生(XS)表中含有系代号(xdh)、学号(xh)、姓名(xm)等字段;成绩(CJ)表中含有学号(xh)、课程代号(kcdh)、成绩(cj)等字段。

按如下要求修改查询:

基于XS表和CJ表查询“刘玉敏”同学所在系的每位同学的平均成绩,输出xdh、xh、xm、平均成绩,查询结果按姓名排序。

(提示:

筛选条件中使用SELECTxdhFROMxsWHERExm=’刘玉敏’;查询保存并关闭设计器后,可能无法再次在设计器中打开,只能在编辑窗口中修该查询的SELECT-SQL语句。

解答:

字段:

xs.xdh、xs.xh、xs,xm、avg(cj)as平均成绩

筛选:

字段:

xs.xdh,条件:

IN,实例:

SELECTxdhFROMxsWHERExm=’刘玉敏’

[本题是子查询的题目,注意筛选的设置]

排序:

xs,xm

分组:

xs.xh

杂项:

【例题5】按如下要求修改TEST项目中的查询的chaxun:

为了检查课程(KC)表中是否有学生没有选的课程,可以基于KC表和成绩(CJ)查询出在课程表中存在而在成绩表中不存在的那些课程记录。

要求:

输出课程表的所有字段和成绩表的课程代号(kcdh)字段。

查询结果中相同的记录(行)只需出现一次,并按KC表的kcdh字段升序排序。

(提示:

使用“左连接”联接KC和CJ表,然后在结果中选出Cj.kcdh字段为Null值的记录)。

解答:

字段:

kc.*、cj.kcdh(kc.*表示kc的所有字段)

联接:

左联接[本题是左联接的题目,注意满足条件的设置]

筛选:

排序:

kc.kcdh

分组:

满足条件:

字段:

cj.kcdh,条件:

ISNULL

杂项:

无重复记录

【例题6】已知图书(TS)表中含有分类号(flh)、入库日期(rkrq)、价格(jg)和册数(cs)等字段。

在TEST项目中已存在查询chaxun,按如下要求修改查询:

基于图书(TS)表统计各大类图书上半年和下半年入库的馆藏册数、金额。

要求输出字段为:

大类、入库时间、馆藏册数、金额,查询结果首先按大类降序排序,同一大类中再按入库日期排序。

注:

●分类号(flh)的第一个字符表示大类;

●如果入库月份在1至6月,则入库时间为“上半年”,否则入库时间为“下半年”;

●金额为jg×cs

解答:

字段:

left(flh,1)as大类、iif(month(rkrq)>=1andmonth(rkrq)<=6,“上半年”,“下半年”)as入库时间、count(*)as馆藏册数、sum(jg*cs)as金额

筛选:

排序:

1,2

分组:

1,2

说明:

这里的1,2代表着查询结果中输出的第1列和第2列。

当排序和分组依据是表达式时,可以用数字代替。

其他情况:

1、不显示重复,显示前多少名,前多少百分比等,在“杂项”页面中

2、提示“不能访问选定表”,表明当前的数据库没有打开,请展开数据库sjk前面的“+”号

3、查询去向:

在查询设计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1