visualfoxpro知识点.docx
- 文档编号:27822346
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:21
- 大小:26.22KB
visualfoxpro知识点.docx
《visualfoxpro知识点.docx》由会员分享,可在线阅读,更多相关《visualfoxpro知识点.docx(21页珍藏版)》请在冰豆网上搜索。
visualfoxpro知识点
第一章数据库系统概述
数据库系统(DBS):
指引入数据库技术的计算机系统
特点:
数据结构化,数据共享性高,程序和数据具有较高的独立性,为用户提供良好的接口,统一管理和控制数据,系统灵活,易于扩充.
数据库(DB):
是存储在计算机设备上.结构化的相关数据的集合,不仅描述事物数据的本身,也包括相关事物之间的联系.
数据库管理系统(DBMS):
是数据库系统中对数据进行管理的软件系统,是数据库的核心.
功能:
数据定义功能,数据操纵功能,数据库管理和控制功能.
数据库管理员(DBA)的主要工作:
数据库设计,数据库维护,改善系统性能,提高系统效率
数据库设计的根本目的:
解决数据资源共享问题
数据库系统的体系结构
概念模式:
简称模式,是数据库中全体数据的逻辑结构和特征的描述,是面向全部用户的公
共数据视图
外模式:
又称子模式或用户模式是用户与数据库的接口.
内模式:
又称物理模式或存储模式,描述数据在存储介质上的安排和存储方式。
一个数据库只有一个内模式.
数据模型:
客观事物及联系—概念模型—数据模型.
E-R模型:
实体(矩形)属性(椭圆)联系(菱形)
在数据库设计阶段,将E-R图转化为关系数据模型的过程属于逻辑设计阶段。
两个实体间的联系:
一对一的联系如班级与班长
一对多的联系如班级与学生
多对多的联系如学生与课程
数据模型有:
层次模型,网状模型,关系模型:
是用二维表结构描述,一张二维表就是一个关系
关系数据库
关系:
一个关系就是一张二维表.
元组(记录):
表中的一行.
属性(字段):
表中的一列.
域:
属性的取值范围.
关键字:
一张表中的一列或若干列能够把不同的记录区分开来.
超关键字:
二维表中能唯一确定记录的一列或几列,但它包含的字段可能是多余的.
候选关键字:
如果超关键字去掉任何一个字段后都不能唯一确定,是候选关键字.
主关键字:
外部关键字P10
关系的特点:
(1)关系必须规范化.即表中不能再包含表.
(2)同一关系中不允许出现相同的属性名.
(3)关系中任意两个元组不能完全相同.
(4)关系中元组的次序可以任意交换.
(5)关系中属性的次序可以任意交换。
关系的完整性约束:
实体完整性:
主关键字不能去空值
(visualfoxpro中主索引和候选索引可以保证实体完整性)
参照完整性:
对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是说外部关键字可以没有值,不允许为无效值.
用户定义的完整性.
关系运算:
并,交,差.选择,投影,连接
Visualfoxpro概念
Visualfoxpro的工作方式:
交互方式和程序方式
命令的书写规则:
P16
简单操作命令:
(1)输出命令“?
”,换行输出“?
?
”,不换行输出
(2)清屏命令CLEAR
(3)注释命令“*”,注释整行“&&”,注释某行中的部分内容
(4)退出命令QUIT
常用的set命令:
SETCENTURYON/OFF决定是否显示日期表达式中的世纪部分.
SETDEFAULTTO(路径说明)指定默认的驱动器,目录,文件夹
SETTALKON/OFF决定Visualfoxpro是否显示命令结果
SETRELATIONOFFINTO取消某个具体的临时联系
SETRELATIONTO…INTO...建立临时联系关系
创建项目文件:
createproject项目文件名
打开项目文件:
modifyproject项目文件名
项目管理器:
数据:
数据库,自由表,查询,视图
文档:
表单,报表,标签
类
代码:
程序,AIP库,app应用程序
其他:
菜单文件,文本文件,其他文件,位图文件
全部
第二章Visualfoxpro的数据与数据运算
Visualfoxpro的数据类型:
字符型C,数值型N整型I浮点型F双精度型D货币型Y日期型D日期时间型T逻辑型L备注型M通用型G(用于存储OLE对象的数据)
变量与常量
常量
字符型常量:
是用定界符括起来的一串字符,常用的定界符有单引号,双引号,方括号
数值型常量
货币型常量
逻辑型常量
日期型常量和日期时间型常量:
严格的日期格式{^YYYY—MM—DDhh:
mm:
ssa/p}
变量
3种变量形式:
内存变量,字段变量,(数组变量),
内存变量(断电后会消失)
内存变量的访问:
必须在变量名前加M.或M->
内存变量按作用域可分为全局变量(public),局部变量(local)和私有变量.全局变量是指任何模块中都可以使用的变量,私有变量是在程序中直接使用由系统自动隐含的变量,其作用域是在变量的模块及其下属的各层模块,局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。
变量的赋值:
1.<内存变量名>=<表达式>
2.STORE<表达式>TO<内存变量表>
注:
like<通配符>:
表示显示与通配符相匹配的内存变量,通配符“?
”代表单一字符,通配符“*”代表多个字符。
数组变量:
DIMESION和declare创建数组。
系统默认数组中各下标变量的初值都是逻辑假(.F.).可利用STORE命令或等号命令为整个数组赋值
Visualfoxpro系统函数
取绝对值函数ABS(),取符号函数SIGN(),最大值函数MAX(),最小值函数min()
取整函数INT(),四舍五入函数ROUND(),求平均根函数SQRT(),随机函数RAND(),求余数函数MOD()
删除字符串前后空格函数:
ALLTRIM(<字符表达式>)
RTRIM(<字符表达式>)
LTRIM(<字符表达式>)
计算字符串长度函数:
LEN()
求子串位置函数:
AT()
取子字符串函数:
SUBSTR().LEFT(),RIGHT()
生成空格函数:
space()
年份,月份,天数函数:
YEAR(),MONTH(),DAY()
数值型转化为字符型函数:
STR()
字符型转化为数值型函数:
VAL()
条件测试函数:
IIF()?
IIF(YEAR(DATE())=2008,”今年在北京开奥运会”,”今年北京没有开奥运会”
Visualfoxpro的表达式
算术表达式:
%:
模运算即取余数
字符表达式:
+:
将两个字符串连接在一起
-:
删除运算符左侧字符串的空格后,与右串连接起来删除的空格放在整个字符串的后面
$:
左侧是否包含在右侧中结果是逻辑值
关系表达式:
<>或#或!
=不等于表示结果是逻辑值
第三章数据表的建立与使用
创建表结构:
CREATETABLE<表文件名>(<字段名1><字段类型>[(<字段宽度[,小数位数]>)][null/notnull])
如:
CREATETABLEjs(ghC(6),xmC(8),xbC
(2),csrqD,gzsjD,zcmcC(12),jbgzN(7,2),xybhC
(2),jlM,zpG)
SETNULLON/OFF控制表中的字段是否接受空值
利用ALTERTABLE-SQL命令修改表结构:
(1)添加或修改字段ALTERTABLE<表文件名>ADD/ALTER[COLUMN]<字段名1><字段类型>[(字段宽度[,小数位数])
(2)重命名字段ALTERTABLE<表文件名>RENAME[COLUMN]<字段名1>TO<字段名2>
(3)删除字段ALTERTABLE<表文件名>DROP[COLUMN]<字段名>
表记录的输入:
APPENDFROM<表文件名>[FLELDS<字段名1>,<字段名2>……]]FOR<条件表达式>]
APPENDFROM<文本文件名>DELIMITED
APPENDFROM
INSERTINTO<表文件名>[(字段)…]VALUES(<表达式1>)…INSERTINTOjs(gh,xm,xb,csrq)VALUES(“020004”,”高山”,”男’’,{^1986-2-2})
数据表的操作
表的打开:
(1)界面方式
(2)命令方式:
USE<表文件名>[NOUPDATE(只读)][EXCLUSIVE(独占)][SHARED(共享)]
表的浏览:
(1)界面方式
(2)BROWSE命令BROWSE[FLELD<字段名>][FOR<条件表达式>]
记录的显示:
LIST或DISPLAY命令
记录的定位:
记录的开始标志BOF记录指针标志RECNO记录食物结束标志EOF
绝对定位:
GOn或GOTOn
GOTOP/BOTTOM或GOTOTOP/BOTTOM
相对定位:
SKIP[
条件定位:
LOCATEFOR<条件表达式>[<范围>]
记录的修改:
命令方式:
REPLACE命令和UPDATE-SQL命令
REPLACEjbgzWITHjbgz+200FORxb=”女”
UPDATEjsSETjbgz=jbgz+200WHERExb=”女”
记录的删除:
逻辑删除:
DELETEFROM<表文件名>[WHERE<条件表达式>]
物理删除:
PACK(当前记录)ZAP(全部记录)
恢复带有删除标记的记录:
RECALL[<范围>][FOR<条件表达式>]
对带有删除标记记录的访问:
SETDELETEDON(不可以)/OFF(可以)
数据表的索引
索引实际上是根据索引关键字的值进行逻辑排序的一组指针
主索引:
是不允许索引表达式的值出现重复的索引。
每张表只能建立一个主索引,只有数据表可以建立主索引。
候选索引:
是不允许索引表达式的值出现重复的索引,数据表和自由表都可建立候选索引,一张表可建立多个候选索引。
普通索引:
是允许索引表达式的值出现重复的索引,数据表和自由表都可建立普通索引,一张表可建立多个普通索引。
唯一索引:
是允许索引表达式的值出现重复的索引,数据表和自由表都可建立唯一索引,一张表可建立多个唯一索引。
字符型字段在表达式中的前后顺序将影响索引的结果。
数值型字段按表达式的运算结果排序。
索引的建立:
命令方式:
INDEXON<索引表达式>TAG<索引标识名>[FOR<条件表达式>][ASCENDING(升序)/DESCENDING(降序)/UNIQUE(唯一)/CANDIDATE(候选)]
系统默认是普通索引
注:
主索引不可以用INDEX命令建立,其他都可以。
设置主控索引:
USE<表文件名>ORDER<索引标识名>[ASCENDING/DESCENDING]
SETORDERTO[<索引标识名>][ASCENDING/DESCENDING]
工作区:
工作区实际上是指内存中的某个区域,用来保存打开的表相关信息。
一个工作区只能打开一张表,可同时在多个工作区打开多张表,一张表可以再多个工作区多次被打开。
设置当前工作区:
SELECT<工作区号>/<别名>
注:
工作区号为0是表示选择未被使用的区号最小的工作区。
建立表的临时关系:
SETRELATIONTO[<关键字表达式>INTO<别名>/<工作区号>]
第四章数据库及数据库表的操作
数据库是一个容器,是许多相关的数据库表及其关系的集合
创建新的数据库:
命令方式:
CREATEDATABASE数据库名
新建数据库表:
如果数据库已经被打开,如果不使用FREE关键字,则表示该表不是自由表,而是属于当前数据库中的数据库表。
OPENDATABASE学生学籍管理系统
CREATETABLEcjFREE(xhC(8),kcbhC(4))
利用命令方式将自由表添加到数据库中:
OPENDATABASE学生学籍管理系统
ADDTABLEcjNAME成绩表
建立数据库表间的永久关系:
一对一关系,一对多关系,多对多关系。
在一对多关系中,主表必须用主索引或候选索引,子表以主表的注关键字为外部关键字建立普通索引;在一对一关系中,主表必须用主索引或候选索引,子表与主表相同的关键字建立主索引或候选索引。
数据库的打开和关闭:
OPEN/CLOSEDATABASE
数据库的修改:
MODIFYDATABASE数据库名
从数据库中移去表:
REMOVETABLE表文件名[DELETE(从磁盘上删除)]
数据库表的属性设置:
T:
删除字段中的前导空格和尾部空格
!
:
将字段的小写字母转换成大写字母
X:
可输入任何字符
9:
可输入数字和正负号
参照完整性设置:
参照完整性的一般要求:
1.子表中的每一个记录在对应的主表中必须有一个父记录;
2.在子表中插入记录时,其外部关键字必须是父表主关键字值中的一个-
3.在父表中删除记录时,与该记录相关的子表中的记录必须全部删除。
级联:
当更新主表中的主关键字值时,将自动更新子表中相关记录的关键字段值
限制:
对于主表中的某个记录,如果在子表中含有与其相关的记录,禁止更新主关键字值
第五章查询和视图
查询:
新建查询:
1.项目管理器方式
2.菜单方式
3.命令方式:
CREATEQUERY直接打开查询设计器
4.单击工具栏上的新建按钮
LIKE:
指定字段与实例文本想匹配
查询去向:
浏览,临时表,表,图形,屏幕,报表,标签
视图和查询的区别:
1.视图中的数据可以更新,并且可以同时更新数据源中的数据,查询结果中的数据是只读的
2.视图不是一个独立文件,没有扩展名,仅是数据库中的一个组成部分,查询时扩展名为qpr的独立文件,不属于数据库
3.视图可访问本地和远程数据,查询只能访问本地数据
4.视图只有在所属的数据库被打开时才能使用,查询可直接使用
5.视图可被当做数据源引用,查询只能在运行一次获得结果并输出,不能
6.视图只能当诗句表使用,查询有多种去向.
第六章关系数据库标准语言SQL
SELECT:
指定输出字段,函数,表达式
FROM:
指数据源表
GROUPBY:
定义记录的分组
HAVING:
筛选结果记录
ORDERBY:
指定结果顺序
INTO:
指定输出类型
WHERE:
筛选源表记录
JOINON:
确定表之间的联系
CHECK:
用于设定字段级有效性规则
DEFAULT:
用于设定的字段的默认值
NAME:
创建数据库表的长表名
PRIMARYKEY:
设定表的主索引
SQL数据查询功能:
SELECT[DISTINCT][ALL/TOP
<*/[<表名,字段名1>/<表达式>[as<别名>]
FROM[<数据库名!
>]<表名>[[INNER/LEFT/RIGHT/FULL]
JOIN[<数据库名!
>]<表名>[ON<连接条件>…]
[WHERE<条件>]
[GROUPBY<分组字段名>][HAVING<筛选条件>]
[ORDERBY<排序名>[ASC/DES]
[INTO<查询去向>][TOLILE<文件名>]
DISTINCT:
排除查询中的重复行
ALL:
全部记录
TOP:
前n条记录
PERCENT:
查询结果中前百分之n的记录
ARRAY:
<数组名>查询结果保存到数组变量中
CURSOR:
<临时表>
DBF<数据表名>
TABLE:
<自由表>
*:
表示全部字段
联接查询:
使用INNERJOIN,,,,,ON或FROM,,,,WHERE(129)
第七章结构化程序设计
程序是能够完成一定任务的命令的有序集合prg
三种基本控制结构:
顺序结构,分支结构,循环结构
程序的建立:
1.菜单方式
2.项目管理器方式
3.命令方式:
MODIFYCOMMAND<程序文件名>
程序的运行:
命令方式:
DO<程序文件名>
字符串输入语句:
ACCEPT[<信息提示>]TO<内存变量>
注:
1.只能接受字符型数据,在输入字符串时不必用引号或方括号
2.,<信息提示>为字符串常量,必须用单引号,双引号或方括号括起来。
如:
ACCEPT”请输入一个数:
”TOX
表达式输入语句:
INPUT[<信息提示>]TO<内存变量>(接受任何类型的数据)
单字符输入语句:
WAIT[<信息提示>][TO<内存变量>][WINDOW[AT<行>,<列>]][TIMEOUT<数值表达式>]
注:
只接收字符型切只有一个字符不管按什么键都做字符型处理
程序结束语句:
1.CANCEL语句
2.RETURN语句
3.QUIT语句
顺序结构程序设计
分支结构程序设计:
IF<条件表达式>
<语句行列式>
ENDIF
双分支结构:
IF<条件表达式>
<语句行列式1>
ELSE
<语句行列式2>
ENDIF
多分支结构:
DOCASE
CASE<条件表达式1>
<语句行列式1>
CASE<条件表达式2>
<语句行列式2>
……
CASE<条件表达式n>
<语句行列式n>
[OTHERWISE
<语句行列式n+1>]
ENDCASE
循环结构程序设计
FOR循环(已知循环次数):
FOR<循环变量>=<初值>TO<终值>[STEP<步长>]
<语句行列式>
[LOOP](重新开始下一次循环命令)
[EXIT](退出循环体命令)
ENDFOR/NEXT
DOWHILE循环(循环次数未知):
DOWHLIE<条件表达式>
<语句行列式>
[LOOP]
[EXIT]
ENDDO
SCAN循环(仅用于处理表中的记录):
SCAN[<范围>][FOR<条件表达式1WHLIE<条件表达式2>]
<语句行列式>
[LOOP]
[EXIT]
ENDSCAN
用户自定义函数和过程p154
用户自定义函数的调用:
函数名([<参数表>])
第八章面向对象的程序设计(封装性,继承性,多态性)
面向对象的程序设计的基本概念
对象:
是对客观事物的抽象表示:
标识唯一性.分类性,多态性,封装性,模块独立性
类:
是对对象的共性的抽象表示
基类:
系统中预先定义好的类
子类
父类
属性:
对象的状态与特征
事件:
是可以由对象识别的一个动作或者对象能够响应的某种操作可以编写相应的代码
方法:
是对象可以完成的一个操作
Visualfoxpro基类的最小事件集:
init:
当对象创建时激活
Destroy:
当对象从内存中释放时激活
Error:
当类中事件或方法程序中发生错误时激活
容器类和控件类:
容器类:
容器,列,命令按钮组,表单,表单集,表格,选项按钮组,页面,页框,工具栏
控件类:
复选框,组合框,命令按钮,编辑框,标签,列表框,选项按钮,微调,文本框,计时器
(容器可以包括其他控件,也可以包括其他容器,不同的容器所包含的对象类型可以是不相同的)
事件的响应:
p168
常见的事件:
1.Load事件:
创建对象前发生
2,.Unload事件:
在对象被释放时发生
3.Init事件:
在创建对象时发生
4.Destroy事件:
当释放一个对象时触发
5.Click事件:
当用鼠标左键单击对象,或者在程序中包含触发此事件的代码,或者更改特定控件的值,或者在表单空白区单击是,此事件发生。
常用方法:
release:
从内存中释放表单集或表单
Refrease:
重画表单或控件,并刷新所有值或一个项目的显示
Remove:
从文件集合和项目中移去一个指定的对象
Setfocus:
为一个控件指定焦点
Show:
显示一个表单
第九章表单的设计与应用
表单文件:
scx表单备注文件:
sct
单表表单的设计:
1,.项目管理器中“文档“—表单—新建—表单向导—表单向导
2.字段选取
3.选择表单样式
4.排序次序
5.完成
一对多表单的设计:
1.项目管理器中“文档“—表单—新建—表单向导—一对多表单向导
2.从父表中选定字段
3.从子表中选定字段
4.建立表之间的关系
5.选择表单样式
6.排序次序
7.完成
打开表单设计器:
1.利用项目管理器打开表单设计器
2.命令方式:
CREATEFORM表单名
MODIFYFORM表单名
表单的常用属性:
p189
Caption:
指定表单标题栏上显示的文本
Name:
指定表单名
Autocenter属性值为T,表示居中显示。
表单的基本事件:
load:
当表单被开始装入内存时激活
Init:
当表单被创建完毕时激活
Destroy:
当表单从内存中释放时激活
Unload:
当表单被卸载完毕时激活
表单的基本方法:
hide:
隐藏表单
Refresh:
刷新表单
Release:
释放表单
Show:
显示表单
表单的数据环境(容器类):
泛指创建表单时所用的数据源.数据源包括与表单相关的数据表,视图及表之间的关系,并可以将数据源中的字段与表单中的控件相“绑定”
(当表单运行时,自动打开数据环境中的表)
表单中的控件p195
通过设置表单控件的tabindex属性控制光标在控件之间的移动次数。
常用表单控件:
标签:
caption属性:
指定标签的标题文本,系统默认为label1
Name属性:
指定对象引用时的名字,默认是label1
Autosize属性:
指定是否标签大小以容纳全部文本内容,属性值类型为逻辑值
Wordwrap属性:
设置标签的caption属性所指定的文本是否换行,属性值类型为逻辑值
Forecolor,fontname,fontsize,fontbold属性:
设置显示文本的字体颜色,字体,字体的大小,字体是否加粗
文本框:
value属性:
保存文本框当前的值
Controlsource属性:
设置文本框显示数据的来源
Passwordchar属性:
设置占位符,如用*代替输入的文本
命令按钮:
caption属性:
指定在命令按钮上显示的文本内容
Picture属性:
指定显示在命令按钮控件上的图形文件
Enable属性:
当前的命令按钮是否有效
Visible属性:
指定命令按钮是否被隐藏
命令按钮组:
buttoncount属性:
包含命令按钮的个数
Name属性
Value属性:
指明用户当前操作的是命令按钮组中的那个命令按钮
编辑框:
主要用来输入和编辑字符型变量,长字段,或者备注字段内容等。
允许自动换行可以使用选择,剪切,粘贴,复制。
选项按钮组:
caption属性:
标题信息
Buttoncount属性:
选项按钮的个数
Value属性:
指明用户定义了选项按钮组中的哪一个选项按钮
复选框:
caption属性:
标题文字
Controlsource属性:
指明与复选框建立联系的数据源
Value属性:
指明复选框的当前状态
列表框:
controlsource属性
Rowsourcetype属性和rowsource属性
Columncount属性:
指定列表框的列数
Value属性:
组合框:
表格:
recordsourcetype属性:
表格数据源的类型
Recordsource属性:
指与表格建立联系的数据源
Columncount属性:
指定表格的列数
微调框,计时器,页框,线条和形状
第十章菜单与工具栏
创建普通菜单:
命令方式:
createmenu文件名
修改已有菜单命令:
modi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- visualfoxpro 知识点
![提示](https://static.bdocx.com/images/bang_tan.gif)