vfp复习提纲.docx
- 文档编号:13685397
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:15
- 大小:24.08KB
vfp复习提纲.docx
《vfp复习提纲.docx》由会员分享,可在线阅读,更多相关《vfp复习提纲.docx(15页珍藏版)》请在冰点文库上搜索。
vfp复习提纲
数据库管理系统复习纲要
第1章visualfoxpro数据系统
1、计算机数据管理的阶段:
人工管理阶段、文件系统阶段、数据库系统阶段
2、数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系:
DBS包括DB和DBMS
3、数据库系统的核心是:
数据库管理系统(DBMS)
4、数据模型
实体,实体集,属性,联系
实体联系的类型:
一对多,一对一,多对多
5、数据模型类型:
层次模型,网状模型,关系模型
vfp是基于关系模型的数据库管理系统
6、关系数据库:
关系就是一张二维表,二维表的行就是元组也称记录,二维表的列就是属性也称字段
7、关系运算:
(*)
传统关系运算:
并,差,交
专门的关系运算:
选择、投影、连接
8、完整性控制:
实体完整性控制(通过主索引和候选索引控制)、域完整性(通过有效性规则控制)、参照完整性控制(主关键字和外关键字控制)(插入、删除、更新规则)
9、项目管理器:
项目是包括文件,数据,文档和对象的集合,项目文件的扩展名是.pjx,在项目管理器中可以进行数据库、表、表单、查询和视图的各种操作。
每个选项卡显示和管理的文件类型。
10、VFP系统环境的配置:
设置日期和时间的显示格式、设置默认目录
第2章visualfoxpro程序设计基础
1.数据类型:
C,N,L,D,T,Y,M,G及其定界符(哪些是定长的)(日期型数据的一些相关命令,eg:
setcenturyon/off、setdatetoymd等)
2.变量:
简单内存变量,字段变量、数组
(1)数组的定义:
dimension或者declare
(2)数组的赋值:
分别赋值,整体赋值(所有元素赋予相同的值,=或者store)如果数组没有赋值,则默认值为.f.
(3)变量的赋值:
=或者store
Store一次可以为多个变量赋予相同的值,而=一次只能为一个变量赋值。
内存变量和字段变量的关系(*):
当出现内存变量与字段变量同名时,若简单的用变量名访问,系统默认为字段变量,若要访问同名的内存变量,则必须在变量名前加上前缀M.或M->
(4)表达式或者值的输出显示:
?
和?
?
,它们之间的区别在哪里?
(5)内存变量的清除:
clearmemory,release…..,releaseall,releasealllike(except)<通配符>
3.表达式
(1)数值表达式:
算术运算符以及优先级、求余运算(mod(),%)
(2)字符表达式:
+,—以及之间的区别
(3)日期时间表达式:
+(不可以用于两个日期数据的相加,但是可以用于日期数据和数值的相加),—(可以用于两个日期数据的运算或者日期数据和数值数据的运算)
(4)关系运算符:
关系运算的结果必然为T或者F,运算符为<,>,<=,>=,==(精确比较),=,<>,$(字串包含),
字符串相等比较时,需先设置setexacton/off;on时先在短的字符串尾部加上空格再进行比较;off时只要右边字符串与左边字符串的前面部分内容相匹配就得到T。
(5)逻辑运算:
not,and,or
4.常用函数:
(特别注意参数个数,数据类型以及最后计算结果的数据类型)
(1)数值函数:
abs,sign,sqrt,pi
int,ceiling,floor:
取整函数
round:
四舍五入,有正负之分
max,min:
极值函数,不仅可以对数值类型使用,还可以对字符类型使用
(2)字符串函数:
宏代换&(*):
只需将字符定界符的字符原封不动放过来即可
Len:
字符串长度函数,一个中文字符为2,空格为1,字母为1
Lower/upper:
字符串大小写转换函数
Space():
生成空格函数,C
Trim/ltrim/alltrim:
空格删除函数
Left,right,substr:
取字串函数,比较重要,注意参数的使用。
Occurs:
计算第一个字符串在第二个字符串中出现的次数,结果为数值类型。
At/atc:
计算第一个字符串在第二个字符串中出现的位置,注意中文字符。
其他stuff、like等。
(3)日期时间函数:
Date/time/datetime:
取得当前系统的时间日期。
注意:
TIME()的结果为字符型
Year/month/day:
返回年份,月份,天,注意结果均为数值型。
Hour/minute/sec:
分别返回小时,分钟,秒,结果也为数值型。
(4)数据类型转换函数:
Ctod/ctot:
字符串转换为日期
Dtoc/ttoc:
日期转换为字符串
Str():
数值型转换为字符串,先考虑长度,再考虑小数位数,特殊情况也要考虑。
Val():
数值字符串转换为数值型
(5)测试函数:
Bof/eof:
表文件开始和结束标志,要熟悉表文件的结构(top,bottom)
Recno():
返回当前记录号
Recount():
返回表文件物理存在的记录总数。
Iif():
条件测试函数
Deleted():
记录删除测试函数
5、程序与程序文件
(1)程序文件扩展名是.prg
(2)程序文件的建立和修改:
modifycommand
(3)程序文件的执行:
do<程序文件名>
(4)简单的交互式输入输出命令:
input、accept、wait
(5)注释语句有哪些:
*,note,&&
(6)程序基本结构:
顺序结构、选择结构、循环结构
选择结构:
if….endif,if…else…endif;
Docase
Case
…
Otherwise
Endcase
循环结构:
for循环,dowhile循环,以及loop和exit的使用。
注意:
结构的基本格式,以及简单程序的编写。
(6)子程序以及过程:
基本程序的阅读、形参、实参以及参数的传递过程(按值、按引用及各自的特点)。
内存变量的作用域:
全局变量、局部变量、私有变量
第3章visualfoxpro数据库及其操作
1、数据库
(1)建立数据库:
createdatabase(扩展名为dbc)
(2)打开数据库:
opendatabase
(3)修改数据库:
modifydatabase
(4)删除数据库:
deletedatabase
2、表
(1)表的分类:
数据库表和自由表(数据库表可以成为自由表同时自由表也可以成为数据库表,区别)
(2)表的创建:
表结构的修改:
modifystructure(非SQL命令)
字段:
名称、类型(C,N,Y,L,G,M)、有效性规则设定
注意:
G,M类型存储在与表文件名同名,后缀名为FPT备注文件中)
(3)表打开和关闭:
use<表文件名>
Use
(4)表记录输入:
insert[blank][before]
Append[blank]
(5)表记录的删除和恢复:
delete…for…(逻辑删除)
pack(物理删除)
zap(物理删除所有记录)
recall(恢复记录,将逻辑删除标记去除)
(6)表记录修改:
repalce的使用(*)
(8)表记录的定位:
相对定位skip,绝对定位go,locatefor定位(与continue、found()和eof()以及循环语句的结合)SEEK和FIND,表文件需索引并打开,SEEK索引表达式值可以为C、N、D等类型;FIND索引表达式值可以为C、N等类型,但FIND后跟内存变量时需加&
3.索引:
(1)索引的分类(索引方式):
主索引、候选索引、惟一索引以及普通索引(各自的特点)
注:
主索引和侯选索引要求索引表达式的值是唯一的,备注字段、通用型字段不能作为索引字段
(2)索引文件的分类:
单独索引文件(.IDX)、非结构复合索引文件(.CDX)、结构复合索引文件(.CDX);其中通过设计器建立的索引是结构化复合索引,该索引和表同名扩展名为cdx,使用之前不需要打开,只需要设置当前主控索引即可,对于单独索引和非结构化复合索引使用之前需打开。
(3)命令建立索引:
indexon…to(of或者tag)…..
(4)设置主控索引:
setorderto
4、数据完整性:
(1)实体完整性(通过主索引和候选索引控制)
(2)域完整性(通过有效性规则控制)
(3)参照完整性控制(主关键字和外关键字控制)(插入、删除、更新规则))
(4)建立表之间的关联:
永久性关联的建立(方法),一对一的关联;一对多的关联
一对多的关系:
通过主表的主索引和子表的普通索引实现
5、排序:
是一种的物理的排序,与索引不同,索引是一种逻辑的排序。
(注意:
排序与索引的区别)
6、多表操作:
(1)选择工作区:
select(尤其注重selecte0的使用)
(2)表之间的临时性关联:
Setrelationto命令的使用
第4章SQL语言
1、查询功能SELECT:
基本格式:
where,orderby,groupby,having使用
细节部分:
distinct,top,BETWEEN……AND,ISNULL,like等
查询结果的输出(intocursor临时表,intoarray数组,intotable/dbf永久表,tofile文本文件)
统计功能:
sum,avg,max,min,count(5个库函数)
2、操作功能:
插入数据:
insertinto基本格式,字段和数据的一致性
更新数据:
update基本格式
删除数据:
deletefrom基本格式
3、定义功能:
建立表:
createtable基本格式(null,notnull,check,default,primarykey,foreignkey,unique)
删除表:
droptable
表结构的修改:
altertable基本格式(三种格式)
第5章查询与视图
1、查询与视图的主要区别
Ø查询的结果将以扩展名为.QPR的文件形式保存在磁盘中;而视图的结果保存在数据库中,视图是一个“虚表”,在磁盘上并没有类似的文件.
Ø视图可以更新源表的数据,但查询不可以.
Ø查询设计器有“查询去向”,视图设计器有“更新条件”。
2、查询文件的扩展名.QPR
查询文件的运行:
do<文件名.qpr>
3、视图的建立:
createviewasselect……
▪视图是根据对表的查询定义的,其命令格式:
CREATEVIEWview_nameASselect_statement
▪说明:
select_statement是任意的SELECT查询语句,它说明和限定了视图中的数据;视图中的字段名将与
select_statement中指定的字段名或表中的字段名同名。
1)从单个表派生出的视图
Eg1:
限定列构成的视图
Opendatabase定货管理
createviewe_wasselect职工号,仓库号from职工
Eg2:
限定行构成的视图
createviewv_bjasselect仓库号,面积from仓库where城市="北京“
视图一经定义,就可以和基本表一样可以和它进行各种查询,也可以对它进行一些修改操作。
对于用户,有时并不需要知道操作的是基本表还是视图。
Eg:
下面几条语句是等价的。
Select*frome_w
或
Select职工号,仓库号frome_w
或
Select职工号,仓库号from职工
4.视图的删除:
dropview<视图名>
视图是从表中派生出来的,所以不存在修改结构,但视图可以被删除。
格式:
dropview<视图名>
Eg:
dropviewv_emp
第六章表单设计与应用
1、面向对象的概念
表单(FORM)是VFP提供的用于建立应用程序界面的最主要的工具之一。
表单内可包含命令按钮、文本框、列表框等各种界面元素,产生标准的窗口或对话框。
6.1面向对象程序设计的概念
Ø面向对象编程用“对象”表现事物,用“事件”表示处理事物的动作,用“方法”表现处理事物的过程。
Ø面向对象程序设计时,不再是单纯地从代码的第一行一直编写到最后一行,而是考虑如何创建对象,利用对象来简化程序设计。
ØVisualFoxPro不但仍然支持标准的结构化程序设计,而且在语言上还进行了扩展,提供了面向对象程序设计的强大功能和更大灵活性。
ØVFP是面向对象(ObjectOriented)的,是以事件驱动为运行机制的。
2、对象与类的关系:
对象是类的实例,类是对象的抽象
6.1.1对象与类
▪面向对象的理论首先把现实世界中的各种事物,划分为不同的类(Class),类是抽象的概念。
类有“状态”和“行为”,“状态”是类的静态属性,但可以通过动态的“行为”来改变。
▪一个类的具体实例就是对象(Object)。
类是抽象的,而对象是具体的。
对象具有该类的状态和行为。
▪二、对象(object)
▪客观世界里的任何实体都可以被看作是对象。
对象可以是具体的物,也可以指某些概念。
▪从编程的角度来看,对象是一种将数据和操作过程结合在一起的数据结构,或者是一种具有属性(数据)和方法(过程和函数)的集合体。
事实上程序中的对象就是对客观世界中对象的一种抽象描述。
▪从程序的角度:
对象是一个实体,包含一定的属性和方法(动作),属性用来表示对象的状态,方法用来描述对象的行为,并且对象能够对外界事件进行响应。
▪在面向对象的方法里,对象被定义为由属性和相关方法组成的包。
▪方法是描述对象行为的过程,是对当某个对象接受了某个信息后所采取的一系列操作的描述。
▪三、类(class)
▪1.概念
▪类是对一类相似对象的性质描述,这些对象具有相同种类的属性以及方法。
▪为了便于开发系统,面向对象的开发工具一般都会提供很多预先定义好的类和对象,并为这些类和对象预先设置足够多的属性和事件,以及足够多的方法,供程序员自由调用。
▪通常,把基于某个类生成的对象称为这个类的实例。
可以说任何一个对象都是某个类的一个实例。
▪方法虽然定义在类中,但执行方法的主体是对象。
同一个方法,若由不同的对象去执行,一般会产生不同的效果。
3、对象的引用:
this,thisform,parent(绝对引用和相对引用)
▪在对象的层次关系中,要引用其中的某个对象,需要指明对象在嵌套层次中的位置。
此时要用到如下四个属性或关键字:
parent,this,
▪Thisform,thisformset
▪容器对象作为父对象,可以包含子对象,子对象如果是容器对象,还可以包含下一级子对象,形成对象的层次关系,在VFP中,对象是通过容器的层次关系来引用的。
引用分为绝对引用和相对引用。
▪
(1)绝对引用:
从最高容器开始逐层向下直到某个对象为止的引用称为绝对引用。
(2)相对引用:
从正在为编写事件代码的对象出发,通过逐层向高一层或低一层直到另一对象的引用称为相对引用
属性或关键字引用
Parent当前对象的直接容器对象
This当前对象
ThisForm当前对象所在的表单
ThisFormSet当前对象所在的表单集
4、属性、方法、事件的概念
一般对象具有如下属性:
▪
(1)属性(Property):
属性用来表示对象的状态。
在程序设计中,类或对象的“状态”或特征称为属性。
属性具有属性名和属性值,通过属性名,可以访问属性值,或为属性赋值。
▪
(2)事件(Event):
类或对象可能执行或发生的行为称为事件。
▪(3)事件过程(EventProcedure):
即对象响应某个事件所执行的程序代码。
程序代码是为处理特定的事件而编写的一段程序,也称为事件代码。
▪面向对象的程序设计的核心思路,就是为这些事件书写程序代码,在代码中改变对象的一些属性值,并让对象做出我们所期望的反应。
▪(4)方法(Method):
又称方法程序,是描述对象行为的过程。
即指对象所固有的完成某种任务的功能,是对象能够执行的一个操作。
因此,“方法”类似于面向过程程序设计中的“过程”和“函数”。
VFP的一些常用方法:
RELEASE:
从内存中释放表单或表单集。
Show:
显示表单
Setfocus:
为一个控件指定焦点
Hide:
隐藏表单、表单集和工具栏
Quit:
退出VFP的一个实例。
从面向对象的理论看,“方法”与“事件”本质上是相同的。
“事件”可以看成系统预先定义的空“方法”,可以在事件中调用用户定义的方法,也可以在用户自定义方法中激活特定事件。
但在VFP中,“方法”在很多情况下更基本,因为VFP预先定义了一些方法,可以在事件中调用它们,而它们一般不调用事件。
5、表单文件的建立createform及运行doform<文件名>
✓命令方法:
在COMMAND窗口输入如下命令:
▪CREATEFORM<文件名>&创建新的表单
▪或
▪MODIFYFORM<文件名>
▪&打开一个已有的表单
运行表单
▪在命令窗口输入命令:
DOFORM<表单文件名>。
注意:
表单文件及其表单备注文件必须同时存在才能运行表单。
6、常用的方法及事件:
(1)方法:
release、show、hide、refresh、setfocus
(2)事件:
运行事件:
init、load;关闭事件:
destory、unload;
注意:
哪个事件先引发,哪个事件后引发
其他事件:
click、interactivechange、gotfocus等
▪6.5.2表单常用事件与方法
Ø运行事件:
▪
(1)Load事件:
在表单对象建立之前引发,即运行表单,先引发表单的load事件,再引发表单的init事件。
▪
(2)Init事件:
在表单创建时引发。
Ø关闭时事件
▪
(1)Destroy事件:
在表单对象释放时引发。
▪
(2)Unload事件:
在表单对象释放时引发,是表单对象释放时最后一个要引发的事件。
Ø交互时事件
▪
(1)Gotfocus:
对象接收到焦点时发生的事件。
▪
(2)Click:
用鼠标单击对象时引发。
▪(3)Dbclick:
用鼠标双击对象时引发。
▪(4)Rightclick:
用鼠标右键单击对象时引发。
▪(5)Interactivechange:
当通过鼠标或键盘交互式改变一个控件的值时引发。
Ø错误时事件
▪Error:
当对象方法或事件代码在运行过程中产生错误时引发。
Ø表单的显示、隐藏与关闭方法
▪
(1)Show方法:
显示表单。
该方法将表单的Visible属性设置为.T.。
▪
(2)Hide方法:
隐藏表单。
该方法将表单的Visible属性设置为.F.。
与Release方法不同,Hide只是把表单隐藏,但并不将表单从内存释放,之后可用Show方法重新显示表单。
▪(3)Relase方法:
将表单从内存中释放。
比如表单有一个命令按钮,如果希望单击该命令按钮时关闭表单,就可以在该命令按钮的Click事件中包含如下代码:
▪ThisForm.Release
▪表单运行时,用户单击表单右上角的关闭按钮,系统会自动执行Relase方法。
Ø表单或控件的刷新方法
▪Refresh方法:
刷新表单。
Ø控件的焦点设置方法
▪Setfocus:
让控件获得焦点,使其成为活动对象。
若一个控件的Enabled属性值或Visible属性值为.F.,将不能获得焦点。
7、基本型控件、容器型控件的属性、方法
FORM:
CAPTION、showwindow,FONTNAME
Label:
caption
Command:
enabled,visible,如何设置访问键
Text:
controlsource,value,passwordchar
Check:
caption,controlsource,value
List:
rowsourcetype,rowsource
Combo:
与list的区别
Commandgoroup:
buttoncount:
2,value
Optiongroup:
buttoncount:
2,value
Grid:
columncount:
-1、recordsourcetype,recordsource
Pageframe:
pagecount:
2
7、数据环境设计器
8、会编写相应的事件代码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vfp 复习 提纲