VFP总复习.docx
《VFP总复习.docx》由会员分享,可在线阅读,更多相关《VFP总复习.docx(13页珍藏版)》请在冰豆网上搜索。
VFP总复习
VFP常见知识点
注意:
今年考试实行无纸化试题,笔试题和上机题都在计算机上同时完成答题,考试时间130分,满分100分。
总分达到60分且上机操作题达到36分,方能取得合格证书;总分达到90分及以上认定为优秀。
100分题型如下:
一、单选题(40题,每题1分,共40分)
二、基本操作题题(1题,共18分)
三、简单应用题(1题,共24分)
四、综合应用题(1题,共18分)
复习参考资料:
1)05年-12年近14次全国计算机等级考试VFP笔试试卷;或者全国计算机等级考试模拟试题。
2)二级上机模拟试题
VFP考试知识点
第一章基础知识
⒈数据库、数据库管理系统、数据库系统、数据库应用系统的概念与几者之间的关系
数据库是以一定的格式存放在计算机存储设备上的、结构化的相关数据的集合。
⒉三种常见的数据模型:
关系、网状、层次
用二维表结构表示实体及实体间关系的模型称为关系模型。
二维表中的列称为关系的属性;二维表中的行称为关系的元组。
由关系模型组成的数据库称为关系数据库。
⒊两个不同实体集的三种关系:
一对一、一对多和多对多。
4.在关系模型中规定关系必须具有以下特点:
表中每一列元素是类型相同的数据;
列不能重名,列的顺序可任意放置;
表中任意两行不能完全相同;关系中的任何一个属性值都是不可再分的最小数据单位,
规范化关系的主要目的是解决:
数据冗余、更新异常、插入异常、删除异常5.关系中的基本运算:
筛选、投影与连接
Select*from学生信息where计算机等级isnull&&包含筛选关系运算
Select学号,姓名from学生信息where性别=“女”&&包含筛选和投影关系运算
Select学生信息.学号,姓名,成绩from学生信息,成绩信息Where学生信息.学号=成绩信息.学号&&包含连接和投影关系运算
关系运算的结果仍然是一个关系。
第二章VFP的基础知识
1.常量
数值型常量(N):
3.1415、12、0.12341.23E+3分十进制与科学记数法两种形式。
字符型常量(C):
[abc]、‘abC’“abc”有三对字符串定界符应成对使用。
日期型常量(D):
{^2010-07-10}、{07/10/2010}分严格的日期格式与传统日期格式
日期时间型常量(T):
{^2010-07-10,08:
30:
30}
逻辑型常量(L):
.T.、.t.、.Y.、.y.表示逻辑真;.F.、.f.、.N.、.n.表示逻辑假
货币型常量(Y):
$123.4567
不确定常量:
.NULL.或NULL
2.变量的类型、命名方法
程序运行过程中其值可改变的量称为变量。
变量分为内存变量、字段变量两类。
内存变量命名规则:
首字符必须是字母、汉字或下划线,后面n个字符可以是字母、汉字、数字或下划线(也可n=0),长度为1~128。
字段变量命名规则:
首字符必须是字母、汉字,后面n个字符可以是字母、汉字、数字或下划线(也可n=0),自由表的长度为1~10,数据库表的长度为1~128。
内存变量的类型:
N,C,D,T,Y,L
字段变量的类型:
13种。
常用有:
N,C,D,T,Y,L,I,M,G
内存变量与字段变量同名时字段变量优先。
3.表达式的类型、运算符及其优先级
将字符类型运算符“$”放在关系运算符中,表达式的值类型归纳更方便。
4.常用函数(请注意考察函数的参数、函数调用格式、函数返回值的类型、功能和规则)
函数调用的方法:
⑴?
<函数名>([参数1[,参数2]……])SUBSTR(C1,N1[,N2])
⑵变量=函数名([参数])
每个函数运算后都会返回一个值,称为函数值。
函数名、参数和函数值是函数的三个要素。
5.文件
第三章数据表的基本操作
⒈建立数据表
1)表结构的建立与修改命令。
CREATE<表文件名>&&创建表文件并调用表设计器
MODIFYSTRUCTURE[<表文件名>]&&创建表文件并调用表设计器
备注型字段用来存放字符,通用型字段用来存放电子表格、图片或声音、多媒体等可以链接或嵌入OLE对象的字段类型。
2)表文件的打开与关闭命令
USE[<表文件名>]
3)表记录的浏览、增加、删除与修改命令。
BROWSE&&浏览或显示表记录
PACK、DELETE、RECALL&&表记录的物理删除、逻辑删除与恢复
4)记录指针移动命令
GOTO|GO[||<数值表达式>]
SKIP[<数值表达式>]
2数据表的索引
索引:
结构化复合索引文件---.cdx;单独索引文件---idx。
1)建立结构化复合索引文件---.cdx命令
INDEXON<索引关键字表达式>TAG<索引标识名>
[ASCENDING|DESCENDING][UNIQUE|CANDIDATE]
2)建立单独索引文件---idx命令
INDEXON<索引关键字表达式>TO<索引文件名>
3)指定主控索引项命令
SETORDERTO[<索引序号>|]
[ASCENDING|DESCENDING]
4)索引类型:
主索引、候选索引、唯一索引和普通索引
主索引:
不允许出现重复值,一个表中只能建立一个主索引。
只能建立在数据库表中
候选索引:
不允许出现重复值。
可建立多个候选索引。
普通索引:
允许出现重复值,可以建立多个普通索引。
唯一索引:
允许有重复值,只保存重复值中首次出现的的记录。
可建立多个唯一索引。
建立索引的作用之一是提高查询和更新的速度
例:
以下关于主索引和侯选索引的叙述正确的是(A)
A)主索引和侯选索引都能保证表记录的惟一性
B)主索引和侯选索引都可以建立在数据库表和自由表上
C)主索引可以保证表记录的惟一性,而侯选索引不能
D)主索引和侯选索引是相同的概念
5)使用数据库设计器为两个表建立联系,
一对一的关系:
首先应在父表中建立【主索引或候选索引】
在子表中建立【主索引或候选索引】
一对多的关系:
首先应在父表中建立【主索引或候选索引】
在子表中建立【普通索引】
第四章数据库操作
1.数据库建立、修改、打开与关闭
1)创建数据库命令:
CREATEDATABASE<数据库名>
2)修改数据库命令:
MODIFYDATABASE[<数据库名>]
3)打开数据库命令:
OPENDATABASE<数据库名>
4)关闭数据库命令:
CLOSEDATABASE
2.创建数据库,向数据库添加数据表或从数据库删除数据表。
自由表和数据库表的区别:
对自由表不能建立主索引,不能定义数据完整性规则等,但是二者可以互相转换。
3.数据完整性
数据完整性规则包括三个部分:
实体完整性、域完整性和参照完整性。
1)实体完整性:
保证表中记录的唯一性(即在一个表中不允许出现重复记录),通过建立主索引或候选索引实现。
2)域完整性:
保证表中字段数据的正确性,通过定义字段和记录有效性规则实现;
注意:
规则是逻辑型数据,信息是字符型数据。
(默认值与所设置的字段类型相同)
例:
使用SQL语句增加字段的有效性规则,是为了能保证数据的(D)
A.实体完整性B.表完整性C.参照完整性D.域完整性
例:
数据库表可以设置字段有效性规则,字段有效性规则属于(D)
A)实体完整性范畴B)参照完整性范畴C)数据一致性范畴D)域完整性范畴
例:
数据库表的字段可以定义默认值,默认值是(D)
A)逻辑表达式B)字符表达式C)数值表达式D)前三种都可能
3)参照完整性——表间规则,在对表中记录进行插入、删除和更新时用来保证相关表之间数据的完整性。
建立参照完整性的步骤:
⑴对父表建立主索引,对子表建立候选索引或普通索引;
⑵建立表间联系;
⑶定义规则:
更新规则——级联、限制、忽略
插入规则——限制、忽略
删除规则——级联、限制、忽略
e.g.在成绩信息表中插入一条记录,要求在学生信息表中检查,如果存在相关的学号,允许插入,否则禁止插入。
需要在学生信息表与成绩信息表间建立永久联系,然后设置参照完整性规则,将插入规则设置为“限制”。
例:
以下说法中正确的是(B)
A)更新规则中没有级联B)插入规则中没有级联
C)删除规则中没有级联D)参照完整性的规则中都有级联
例:
有关参照完整性的删除规定,正确的描述是(C)
A)如果删除规则选择的是“限制“,则当用户删除父表中的记录时,系统将自动删除子表中的所有相关记录。
B)如果删除规则选择的是“级联“,则当用户删除父表中的记录时,系统将禁止删除子表相关的父表中的记录。
C)如果删除规则选择的是“忽略“,则当用户删除父表中的记录时,系统不负责做任何工作。
D)上面三种说法都不对
第五章关系数据库标准语言SQL
⒈概念
结构化查询语言SQL(StructuredQueryLanguage),是关系数据库的标准语言。
VFP的SQL语言的特点(P105)
1)支持数据定义和数据操作功能,但是不支持数据控制功能
2)只支持单层嵌套查询(不支持多层嵌套查询)
3)SQL命令既可以在命令窗口直接执行,也可以在程序中执行
⒉数据定义
1)CREATETABLE(创建自由表或数据库表、建立索引、定义域完整性)
e.g.创建一个教师表:
CREATETABLE教师(职工号C(6),性别C
(2)DEFAULT“女”)
e.g.创建一个成绩信息表,并与学生信息表建立永久关系,且成绩<=100:
CREATETABLE成绩信息;
(学号C(8),课程号C
(2),成绩N(5,1)CHECK成绩<=100,;
PRIMARYKEY学号+课程号TAG学号课程,;
FOREIGNKEY学号TAG学号REFERENCES学生信息)
2)DROPTABLE(删除表文件)
3)ALTERTABLE(本命令共有三种格式,使用时有所不同)
e.g.为学生信息表中的入学成绩字段设置有效性规则:
入学成绩必须>=540分。
ALTERTABLE学生信息ALTER入学成绩SETCHECK入学成绩>=540
试比较:
在学生信息表中增加年龄字段,并设置有效性规则:
年龄必须大于0。
ALTERTABLE学生信息ADD年龄N
(2)CHECK年龄>0
e.g.为数据库表教师表设置主索引“职工号”。
ALTERTABLE教师ADDPRIMARYKEY职工号
为”学生”表增加一个”平均成绩”字段的正确命令是
ALTERTABLE学生ADD平均成绩N(5,1)
⒊数据操纵
1)INSERTINTO(向INTO短语指定的表尾插入一条新记录,其值为VALUES后面表达式的值,或者来自数组或同名内存变量。
)
2)UPDATE(修改指定表中指定字段的记录数据。
)
e.g.将少数民族学生入学成绩在原分数基础上加10分。
UPDATE学生信息SET入学成绩=入学成绩+10WHERE民族#”汉”
3)DELETEFROM(删除指定表中的记录。
)
⒋查询
谓词EXIST、IN、ANY、SOME、ALL及它们的否定,如NOTIN。
注意:
SELECT查询中的where,groupby,having,orderby,top,as等
1)带特殊运算符的条件查询:
between…and|in|like|isnull
2)简单的计算查询:
count()|sum()|avg()|max()|min()
3)分组与计算查询:
groupby[having]
4)简单的嵌套查询:
where中出现select语句
5)使用谓词的嵌套查询:
ANY(SOME)|ALL|IN
6)连接查询joinon
7)排序orderby[ascending|descending]|topn[percent]
8)查询结果的重定向输出:
intodbf|table<表名>
intocursor<表名>
intoarray<数组名>
tofile<文本文件名>
9)集合并运算:
union
第六章查询与视图
1.建立查询文件命令:
CREATEQUERY[<查询文件名>]
2.修改查询文件命令:
MODIFYQUERY[<查询文件名>]
3.运行查询文件命令:
DO<查询文件名.qpr>
4.建立视图文件命令:
CREATEVIEW<视图文件名>AS
5.修改视图文件命令:
MODIFYVIEW<视图名>
6.删除视图文件命令:
DROPVIEW<视图名>
7.视图文件的打开与关闭:
先打开数据库,才能使用USE[<视图名>]
8.查询与视图不同点
a、视图只能在数据库中存在,操作视图之前必须打开视图隶属的数据库;查询不是数据库的组成部分,是一个独立的文件。
b、视图可以访问远程数据,查询不能直接访问,需要借助于远程视图。
c、视图的运行结果只能当作数据表使用,查询的运行结果可以存储为多种数据格式,可以作为数据表、报表、图表等多种方式使用。
d、视图可以作为数据源使用,查询不能。
e、视图可以更新数据源表,查询不能。
第七章结构化程序设计
⒈IF结构(IF…ENDIF、IF…ELSE…ENDIF)
⒉DOCASE结构
⒊DOWHILE结构|for结构(单重循环)LOOPEXIT
4.数组定义赋值
Dimex(2,3)x=”12”?
x(5)注意:
二维数组的应用
5.内存变量的三种类型:
公共变量、私有变量和局部变量
PUBLIC、PRIVATE、LOCAL命令的使用
第八章表单
1.基本概念
①基本的控件:
表单、文本框、命令按钮、标签、命令按钮组、选项按钮组、计时器
②基本的属性:
caption、value、readonly
③基本的事件:
Init、load、click、dbclick、rightclick
④基本的方法:
release
VFP的基类分为容器类和控件类两种。
控件类:
label(标签)、command(命令按钮)、text(文本框)、timer(计时器)。
容器类:
commandgroup(命令按钮组)、form(表单)、formset(表单集)、grid(表格)、optiongroup(选项按钮组)、Container(容器)、PageFrame(页面)
2对象的绝对引用和相对引用
(1)绝对引用:
绝对引用与对象所处的层次无关,不论当前对象位于嵌套层次中的哪一层,总是从最外层开始逐层给出父对象直至该对象本身,通常以THISFORM、THISFORMSET等开头的引用是绝对引用。
(2)相对引用:
相对引用以当前对象所处的位置为基点,与对象所处的层次相关,通常以THIS开头的引用是相对引用。
3表单设计
●表单最常用属性
(1)表单标题:
Caption=”标题名称”
(2)表单运行居中:
AutoCenter=.F.(系统默认值)不居中,.T.时居中。
●表单最常用方法
(1)release从内存中释放表单,即关闭表单
(2)refresh刷新表单
●表单最常用事件
(1)Init对象创建时引发
(2)Load表单对象建立之前引发
最先引发的事件是LOAD,其次是Init
●设置数据环境
(1)了解数据环境的常用属性
(2)打开数据环境设计器
(3)从数据环境添加表或视图,从数据环境移去表或视图
●常用控件的设计
(1)标签(LABEL)是用以显示文本的图形控件。
常用属性:
Caption:
显示标签中文本的内容
Name:
标签的内部名称(系统默认值为Label1,Label2,…)
(2)文本框(Textbox)是编辑数据且只有一行的图形控件。
常用属性:
ControlSource:
指定与文本框建立联系的数据源。
Value:
指定文本框的当前状态(系统默认值为空串)。
PassWordChar:
是显示用户输入的字符,还是显示占位符,指定用作占位符的字符。
InputMask:
指定在文本框内如何输入和显示数据。
(3)命令按钮(CommandButton)是由矩形线条包围文字串组成的图形控件。
常用属性:
Caption:
显示命令按钮标题文本(系统默认值为Command1,Command2,…).
Visible:
指定对象是可见还是隐藏,值为.T.(系统默认值)表示可见。
Enabled:
指定对象是可用还是不能用,值为.T.(系统默认值)表示可用。
(4)计时器(Timer)是按时间间隔执行Timer事件代码.
常用的属性:
Interval:
调用计时器事件的间隔,单位为毫秒(系统默认值=0)
注意:
标签控件的caption属性;文本框控件的value、ReadOnly等属性;命令按钮的caption属性、click事件
(5)复选框(CheckBox)
常用属性:
Caption:
指定显示在复选框旁边的标题
Value:
返回复选框的状态。
默认值为0;1为选中;2为不确定。
(6)列表框(ListBox)
常用属性:
ColumnCount:
列表框的列数。
Value:
返回选中列表框的条目。
Rowsource与RowsourceType两个属性要配合使用。
(7)组合框(C0mboBox)
常用属性:
ColumnCount:
组合框的列数。
Value:
返回选中组合框的条目。
Style:
组合框的样式。
0为下拉组合框;2为下拉列表框。
Rowsource与RowsourceType两个属性要配合使用。
(8)命令按钮组(CommandGroup)是包含一组命令按牛的图形容器控件。
常用属性:
ButtonCount:
命令按钮组中的命令按钮数目(系统默认值=2)。
Buttons:
用于存取命令按钮组中各按钮的数组。
Value:
该值为数值类型N。
N=1,表示第1个按钮被选中。
(9)选项组(OptionGroup)是包含一组单选按钮的图形容器控件。
常用属性:
ButtonCount:
选项组中的单选按钮数目(系统默认值=2)。
Buttons:
用于存取选项组中各单选按钮的数组。
Value:
该值为数值类型N,N为选项组中的单选按钮数目,N=1,表示第1个按钮被选中。
(10)表格(Grid)是包含若干列的图形容器控件。
常用属性:
ColumnCount:
表格的列数。
RecordSourcr与RecordSourceType两个属性要配合使用。
(11)页框(PageFrame)是包含页面的图形容器控件。
常用属性:
PageCount:
包含页面的数目。
ActivePage:
返回页框中活动页面的页号。
第十、十一章菜单与报表设计
1.菜单:
创建菜单的工具:
菜单设计器
(1)创建菜单的工具:
菜单设计器
①设计菜单要完成的最终操作是生成菜单程序
②应用程序中常用的菜单可以分为下拉菜单和快捷菜单2种。
③注意:
菜单文件的文件名,以及执行菜单文件的命令
(2)设计子菜单:
注意:
菜单文件的文件名,以及执行菜单文件的命令
扩展名:
MNX生成MPR文件
创建:
createmenu菜单文件名
修改:
modifymenu菜单文件名
运行:
do菜单文件名.mpr
恢复系统菜单:
setsysmenutodefault
2.报表:
VFP中报表由数据源和布局两个基本部分组成,数据源可以是数据库表,也可以是视图、自由表或临时表。
创建报表的3种工具:
报表设计器、报表向导和快速报表。
注意:
报表文件的文件名(扩展名),以及建立、执行、修改报表文件的命令。
扩展名:
.FRX
创建:
createreport报表文件名修改:
modifyreport报表文件名
运行:
reportform报表文件名PREVIEW&&预览
reportform报表文件名TOPRINT&&打印
补充:
1.appendfrom表名(将表中记录追加到打开表的末尾,往往针对将一个表的内容添加到一个空表中)
Appendfromarray数组名(从数组中取出数据添加到表的记录中。
)
2.表单中的类:
类是对一类相似对象的性质描述,好比是一类对象的模板。
命令:
CREATECLASS类名OF类库名 AS父类
学习教材P214-217