vfp6.docx
- 文档编号:26670754
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:22
- 大小:30.73KB
vfp6.docx
《vfp6.docx》由会员分享,可在线阅读,更多相关《vfp6.docx(22页珍藏版)》请在冰豆网上搜索。
vfp6
赞(8)赞(8)赞(8)
vfp6.0知识总结
全国计算机二级VisualFoxPro数据库程序设计
——知识点整理资料
文件扩展名及备注文件扩展名
文件
扩展名
备注扩展名
文件
扩展名
备注扩展名
项目
.pjx
.pjt
数据库存
.dbc
.dbt
表
.dbf
.fpt
表单
.scx
.sct
程序
.prg
报表
.frx
单索引
.idx
结构化复合索引
.cdx
菜单定义格式
.mnx
菜单程序
.mpr
查询
.qpr
视图
.vcx
第一章数据库基础知识
1、数据库管理系统DBMS;数据库应用系统DBAS;数据库系统DBS;数据DB数据库管理员DBA;DBS包括DBMS和DB
2、实体间的联系:
一对一,一对多,多对多
3、数据库中的数据模型:
网状模型、层次模型、关系模型
4、关系:
一个关系就是一张二维表,每个关系有一个关系名
5、元组:
二维表中的行称作元组
6、属性:
二维表中的列称作属性
7、域:
属性的取值范围
8、关系:
表关系名:
表名属性:
字段元组:
记录
行:
记录,元组列:
字段,属性
9、传统的集合运算:
并、差、交
10、专门的关系运算:
选择(水平方向)for,while,where
投影(垂直方向)fields,select
联接(一对一,一对多,多对多)
11、定义数组:
dimension/declare数组名(3,4)
VF基础知识
1、创建项目:
①通过菜单创建
②命令:
CreateProject项目名
2、打开项目管理器:
①通过“文件”->“打开”菜单项
②命令:
ModifyProject项目名
3、各类文件选项卡:
①“全部”选项卡(以下五项的全部内容)
②“数据”选项卡(数据库、自由表、查询、视图)
③“文档”选项卡(表单、报表、标签)
④“类”选项卡
⑤“代码”选项卡
⑥“其他”选项卡
第二章数据与数据运算
1、字段数据类型(11种)
字符型
C
双精度型
B
数值型
N
整型
I(4)
逻辑型
L
(1)
货币型
Y(8)
日期型
D(8)
备注型
M(4)
时间型
T(8)
通用型
G(4)
浮点(动)型
F
*N包括Y、F、B、I
2、变量:
变量值能够随时改变的。
变量名以字母、汉字和下划线开头,后接字母、数字、汉字和下划线构成
3、变量的分类:
字段变量和内存变量(简单内存变量和数组)
当内存变量与字段变量同名时,通过M.和M->访问内存变量
4、子串包含测试:
$
5、字符串精确比较
“==”两个字符完全相同.T.
“=”setexacton|off
6、常用的函数
数值函数:
1.ABS()函数
2.SIGN()函数
3.SQRT()函数
4.PI()函数
5.INT()函数
6.CELING()函数
7.FLOOR()函数
8.ROUND()函数
9.MOD()函数
10.MAX()函数
11.MIN()函数
字符函数:
1.LEN()函数
2.LOWER()函数
3.UPPER()函数
4.SPACE()函数
5.TRIM()函数
6.LTRIM()函数
7.ALLTRIM()函数
8.LEFT()函数
9.RIGHT()函数
10.SUBSTR()函数
11.OCCURS()函数
12.AT()函数
13.STUFF()函数
14.CHRTRAN()函数
15.Like(
*>,<>)
日期时间函数:
1.DATE()函数
2.TIME()函数
3.DATETIME()函数
4.YEAR()函数
5.MONTH()函数
6.DAY()函数
7.HOUR()函数
8.MINUTE()函数
9.SEC()函数
数据类型转换函数:
1.STR()函数
2.VAL()函数
3.CTOD()函数
4.DTOC()函数
5.宏替换函数
测试函数:
1.BETWEEN()函数
2.ISNULL()函数
3.EMPTY()函数
4.VARTYPE()函数
5.EOF()函数
6.BOF()函数
7.RECNO()函数
8.RECCOUNT()函数
9.DELETED()函数
10.IIF()函数
程序设计基础
1、概念:
是命令的集合,分行存储在磁盘上,按照人为的顺序依次输出的过程。
2、建立、修改程序文件(.prg):
modifycommand程序名
3、远行:
do程序文件名
4、基本的输入语句:
(以求圆的面积为例)
①input“请输入圆的半径”tor
可接受的数据类型:
C、N、L、D、T;从键盘上接受输入,但不能不输入任何内容;输入字符常量必须加定界符
②accept“请输入圆的半径”tor
只能接受字符串,输入是不需要加定界符
③wait“请等候…”window
wait<提示信息>to<内存变量>
5、程序的结构:
顺序结构
选择结构(分支、判断)
循环结构(条件、步长)
6、程序的控制语、注释语
①exit终止,跳出,至enddo后面
②loop中止,跳至dowhile判断条件
③quit退出系统
④*换行注释
⑤&&同行注释
注释语句
【格式1】NOTE<注释内容>
【格式2】*<注释内容>
【格式3】&&<注释内容>
7、程序的模块,形参、实参
形式参数定义:
PARAMETERS<形参>
参数传递:
格式一:
do文件名或过程名with实参
格式二:
文件名或过程名(实参)
8、变量的作用域:
①全局变量(又称公共变量)(public):
可在任何模块和程序中使用,而且在VF运行环境内都一直可见(命令窗口输入的也是)
②私有变量(private):
在建立该变量的模块及其下属各层模块中使用,在其上层模块中不可用;在程序中直接使用没有特别声明的变量都是私有变量;用private声明上层模块中已经存在的变量,使得上层模块定义的变量在当前暂时无效
③局部变量(local):
只能在建立它的模块中使用,不能在上层或下层模块中使用
第三章数据库及其操作
1、创建数据库:
①在项目管理器中建立
②在菜单中建立
③命令:
Createdatabase数据库名
2、打开数据库:
OpenDatabase数据库名
3、删除数据库:
DeleteDatabase数据库名
4、修改数据库:
ModifyDatabase数据库名
5、关闭数据库:
CloseDatabase
6、打开表设计器:
ModifyStructure
7、显示全部表记录:
List(显示完全部记录)
8、显示当前表记录:
Display(分页显示记录)
9、记录的绝对定位:
Gon
10、浏览、修改表:
Browse
11、编辑、修改表:
Edit/Change
12、批量修改:
Replaceall字段with字段表达式
13、逻辑删除:
Delete(只在记录前加*,不删除)
14、恢复逻辑删除:
Recall
15、物理删除:
①Pack:
只删除带*的记录
②Zap:
物理删除表中全部记录
16、关闭表:
Use
17、打开表:
Use表名
18、复制表记录:
Use表名;Copyto新表名
19、复制表结构:
Use表名;CopyStructureto新表名
20、追加表记录:
①将另一表中的记录添加到该表中:
Use要追加记录的表名
Appendfrom有记录的表名
②在尾部追加记录:
Append
③在尾部增加一条空记录:
Appendblank
21、插入表记录:
①在当前记录的后面插入一条记录:
insertafter
②在当前记录的后面插入一条空记录:
insertblank
③在当前记录的前面插入一条记录:
insertbefore
22、显示所有含有条件的记录:
listfor
23、显示满足条件的记录:
listwhile
24、显示字段:
listfields
25、指针记录的定位:
①bof()为.T.时指向文件头
②gotop定位在第一条记录
③gobottom定位在最后一条记录
④eof()为.T.时指向文件尾
⑤skip向下移动一个指针,指向下一条记录(不含当前记录)
⑥all全部记录
⑦locatefor满足条件的第一条记录
⑧continue继续查找满足条件的下一条记录
用locate命令定位:
Locatefor条件查找满足条件的第一条记录
Continue继续查找满足条件的第一条记录
?
found测试是否有返回值,如有.T.,如无.F.
Display显示
26、记录的范围:
①nextn向下n条记录
②rest从指针指向位置开始的所有记录
27、在数据库关闭/删除的情况下建立的表为自由表,自由表字段名最长为10个字符。
28、在数据库打开/修改的情况下建立的表为数据库表,数据库表字段名最长为128个字符,可以为数据库表建立主索引、字段有效性和参照完整性,这也是自由表没有的。
29、创建数据库表:
opendatabase数据库名;creat表名
30、创建自由表:
确定当前没有打开数据库,使用命令:
creat表名
31、将自由表添加到数据库中:
opendatabase数据库名;addtable表名
32、将数据库表移出数据库:
opendatabase数据库名;removetable表名
******************************************************************
小结:
1、用use打开表时,记录号位于第一条记录
2、执行带all的命令,记录指针指向eof()=.T.
3、当为.T.时,bof的记录号总是为1,eof的记录号是记录数+1
4、空表的总记录是0,bof的记录号是1,eof的记录号是1
******************************************************************
33、排序:
①建立排序:
sorton字段名/a/d/cto新表名
②/a(asc):
升序;/d(desc):
降序;/c:
不区分字母大小写
34、索引:
①索引的种类:
主索引,候选索引,唯一索引,普通索引
②建立索引:
indexon关键字tag索引文件名
③打开索引:
setindexto索引文件名
④关闭索引:
setindexto
⑤查找索引:
find/seek
⑥删除索引:
deletetagall索引标识
⑦主控索引:
setorderto索引名
⑧建立永久链接的条件:
父表必须建立主索引,子表必须建立普通索引
⑨建立临时链接:
窗口->数据工作区
命令:
setrelationto父表字段名into子表名(父动子动)
举例:
opendatabase成绩管理
Usestudentin1order学号
Usescorein2order学号
Setrelationto学号into2/score
Select1/go3/display/select2/display
35、互换表中记录:
先打开表
go1;scattertoaa(数组名);go3;scattertobb(数组名);
go1;gatherfrombb;go3;gatherfrombb
*********************************************************************
小结:
排序与索引的区别
1、排序要执行两次,按关键字和记录号,要打开表;而索引只执行一次,按关键字,不需要打开表;
2、排序生成一个新表,索引是针对原表生成一个指针文件
3、升降序的表示与书写方式不同:
排序/a升序/d降序/c不区分大小写,索引ascending和descending。
4、排序与索引的to的含义不同,排序的to表示到一个新表,索引的to表示建立单索引文件。
5、表达式的方式不同,排序用(,)逗号,索引用(+加号)
自由表与数据库表的不同:
1、自由表有三个索引:
候选索引、唯一索引、普通索引;
2、数据库表有四个索引:
主索引、候选索引、唯一索引、普通索引;
3、一个数据库表只能有一个主索引,可以有多个候选索引、唯一索引、普通索引;
4、一个表只属于一个数据库;
5、主索引和候选索引表示表记录的唯一性;
6、数据库表的字段允许长度是0~128个字符,而自由表只允许10个字符;
7、数据库表可以设置字段的有效性规则和参照完整性,而自由表不能;
8、可以将自由表添加到数据库中,也可将数据库表从数据库中移去成为自由表。
*********************************************************************
36、数据的完整性:
①实体完整性:
主索引和候选索引,保证记录的唯一性
②域完整性:
表示字段的有效性和取值范围
③参照完整性:
描述表与表之间的关系
参照完整性的规则:
更新规则(级联、限制、忽略)
删除规则(级联、限制、忽略)
插入规则(限制、忽略)
参照完整性是数据库文件的产物,要有联接,先打开数据,在父表建立主索引,子表建立普通索引,建立连线后先清理数据库,再编辑参照完整性。
37、工作区:
①工作区的选择:
select<工作区号>|<别名>
②范围:
1~32767默认0号工作区,也是最小工作区
③select0表示选定当前还未使用的编号最小工作区
第四章SQL语言
1、SQL:
structurequerylanguage
2、定义:
是结构化查询语言,是关系数据库的标准语言,是一种高度非过程化的语言,是数据库后台的操作语言,具有非常强大的查询功能,查询是它的核心。
3、基本构成:
select查询什么字段/from数据源/where查询条件
4、三大功能:
数据查询
①格式:
select字段名/*from表1innerjoin表2on表1主关键字=表2主关键字where筛选条件[groupby分组having分组条件]orderby排序
②函数
Max()
Min()
Avg()
Count()
Sum()
最大值
最小值
平均值
计数
求和
③值域查询:
between…and…
④空值查询:
isnull/isnotnull
⑤模糊查询:
like(like后所指定的字段值一定是个字符型数据;通配符%表示0个或多个字符,”_”只表示一个字符)
⑥使用量词和谓词的查询:
any/some/all
(some和any是同义词)
[not]exists
*some、any只有子查询中有一行能使结果为真,则结果为真
*all子查询中所有记录都使结果为真,则结果为真
*[not]exists用来检查是否有结果返回,即存在/不存在元组
⑦集合的并运算:
union字段相同,值域相同
⑧虚字段:
as新字段名
操作功能:
①插入:
insertinto表名(字段名)values(字段值)
②更新:
update表名set字段名=表达式where条件式
③删除:
deletefrom表名where条件
定义功能:
①表的定义:
createtable|dbf(字段名类型(宽度))
②删除表:
droptable表文件名
删除视图:
dropview视图文件名
③表结构的修改:
⑴添加字段:
altertable表名add字段名类型(宽度)
⑵修改字段:
altertable表名alter字段名新类型(宽度)
⑶删除字段:
altertable表名drop字段名
⑷重新命名字段:
altertable表名renamecolumn原字段名to新字段名
⑸建立有效性规则:
altertable表名alter字段名setcheck字段条件
建立默认值:
altertable表名alter字段名setdefault条件
⑹删除默认值/有效性规则:
altertable表名alter字段名[dropdefault/dropcheck]
⑺建立候选索引:
altertable表名addunique字段tag索引名
建立主索引:
altertable表名addprimarykey字段tag索引名
建立普通索引:
altertable表名addforeignkey字段tag索引名
⑻删除候选索引:
altertable表名dropuniquetag索引名
删除主索引:
altertable表名dropprimarykey字段tag索引名
删除普通索引:
altertable表名dropforeignkey字段tag索引名
5、SQL查询的六种去向:
⑴将查询结果存放到数组中——intoarray数组名
⑵将查询结果存放在临时文件中——intocursor临时表文件名
⑶将查询结果存放到永久表中——intodbf/table自由表文件名
⑷将查询结果存放到文本文件中——tofile文本文件名
⑸将查询结果直接输出到打印机——toprinter
⑹将查询结果显示在屏幕上——toscreen
第五章查询与视图
1、定义:
查询是预先定义好的一个select语句
2、数据源:
数据库表、自由表或视图
3、建立查询的方法①项目管理器
②文件新建
③命令:
createquery
4、查询设计器中各选项卡与select语句的对应关系:
选项卡:
字段、联接、筛选、排序依据、分组依据、杂项
选择了创建查询的表或视图——from短语
①字段选项卡——select短语
②联接选项卡——joinon短语
③筛选选项卡——where短语
④排序依据选项卡——orderby短语
⑤分组依据选项卡——groupby短语和having短语
⑥杂项选项卡——可以指定是否要重复记录(对应于distinct短语)
还可指定列在前面的记录(对应于top短语)
5、查询去向:
浏览、临时表、表、图形、屏幕、报表、标签
6、运行查询:
do查询文件名.qpr
7、查询保存在查询文件中,查询文件是一个文本文件。
8、查询文件(.qpr)
视图文件(.vue)
9、定义:
视图是一个定制的虚拟表,依赖于数据库,是从一个或多个数据库中导出的表;在视图中只存放视图的定义,不存放视图的内容;视图分为本地视图和远程视图
10、数据源:
数据库表、自由表或其他视图等
11、建立视图命令:
createview
12、根据表的查询定义视图:
createview视图文件名as
13、删除视图文件:
dropview视图文件名
14、视图和查询的比较
相同点:
可以从数据源中查找满足一定筛选条件的记录和选定部分字段;
自身不保存数据,它们的查询结果随数据源内容的变化而变化;
都可以生成SQL语言;
不同点:
视图有更新条件,查询无;
查询有查询去向(7个去向),视图无;
视图可以更新,查询只能只读;
视图可以更新数据源表,而查询不能;
视图可以访问远程数据,而查询不能直接访问,需借助于远程视图方可;
视图只能数据库中存在,而查询是一个独立的文件;
视图的基表只能是数据库表,而查询可以是自由表,一个或多个数据库表;
建立视图必须是数据库表及存在的视图,而查询只要是表都可以。
第六章表单设计与运用
1、对象:
客观事物的抽象
(属性:
对象的状态;方法:
对象行为)
2、类:
具有相同属性和方法的对象的集合
3、类的特征:
层次性
继承性:
子类不但可以继承父类的属性和方法还可以有自己的属性和方法
封装性
4、对象与类的关系:
类是对象的一般化;对象是类的具体化、实例化
5、创建类:
createclass类名
例:
创建一个名为employee的新类,保存新类的类库是myclasslib,新类的父类是custom
Createclassemployeeofmyclasslibascustom
新建类:
新类名存储于派生于
6、类的使用:
表单控件“查看类”->添加->点开类->拖入表单
7、创建表单:
createform表单名
运行表单:
doform表单名
8、表单属性:
Caption:
表单标题Name:
表单名称
Backcolor:
背景色Borderstyle:
边框样式
Height:
表单高度Width:
表单宽度
Showwindow:
是否作为顶层表单
9、标签属性:
caption:
指定标签的显示文本
AutoSize:
确定是否根据标题的长度来自动调整大小
Alignment:
指定标题控件中显示的对齐方式
name:
标签对象的名称,是程序中访问标签对象的标识(label1)
backstyle:
设置标签的背景是否透明
10、文本框属性:
Alignment:
文本框内容的对齐方式
ControlSource:
设置文本框的数据来源
Value:
保存文本框的当前内容
PassWordChar:
设置输入口令时显示的字符,通常用*
Readonly:
确定文本框是否为只读,为“.T.”时,文本框的值不可修改。
Inputmask:
指定在一个文本框中如何输入和显示数据。
表6.13书P195
11、编辑框属性:
ControlSource:
设置编辑框的数据源,一般为数据表的备注字段。
Value:
保存编辑框中的内容,可以通过该属性来访问编辑框中的内容。
Hideselection:
失去焦点时,编辑框中选定的文本是否仍显示为选定状态。
默认值为.T.不显示为选定状态
Readonly:
确定用户是否能修改编辑框中的内容。
.f.可改
Scroolbars:
指定编辑框是否具有滚动条,[0]无滚动条
[2](默认值)时,编辑框包含垂直滚动条。
SelStart:
返回用户在编辑框中所选文本的起始点位置或插入点位置SelLength:
返回用户在文本输入区中所选定字符的数目。
>0
SelText:
返回用户在编辑区内选定的文本
12、复选框属性:
Caption:
用于指定复选框旁边的标题
Alignment:
指定复选框是显示在该标题的左(右)边
Value:
用来指明复选框的当前状态,如下表
0或.F.->(默认值),未被选中(灰色)
1或.T.->被选中
>=2或.null.->不确定,只在代码中有效
ControlSource:
用于指定复选框的数据源
(字段或内存变量)其类型可以是N或L
13、列表框属性:
ColumnCount:
列表框的列数
ControlSource:
绑定列表框的数据源。
ADDItem:
向Rowsourcetype属性为0的列表添加一项
RowSourceType:
指定与组合框
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vfp6
![提示](https://static.bdocx.com/images/bang_tan.gif)