vf讲义第一部分.docx
- 文档编号:11213838
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:20
- 大小:23.92KB
vf讲义第一部分.docx
《vf讲义第一部分.docx》由会员分享,可在线阅读,更多相关《vf讲义第一部分.docx(20页珍藏版)》请在冰点文库上搜索。
vf讲义第一部分
第一节VF的启动和窗口认识
一、.VF的启动
①双击桌面VF图标
②开始→程序→MiscosoftVISUALFOXPR06.0→MiscosoftVISUALFOXPR06.0
二、窗口认识
1、标题栏的介绍
Ø控制按钮(应用软件的图标,双击此图标可以关闭该应用软件)
Ø正在使用的软件信息
Ø最小化按钮、最大化按钮及还原按钮、关闭按钮。
2、菜单栏的操作
Ø系统默认菜单项(文件、编辑、显示、格式、工具、程序、窗口、帮助)
Ø菜单的禁用
Ø级联式菜单(菜单带有实心的黑三角形,表示有下一级子菜单)
Ø菜单右边带有…,表示单击此命令会打开相应的对话框,将在对话框中进行操作。
Ø菜单的快捷键。
Ø菜单的热键
3、工具栏的操作(重点)
(1)显示与隐藏
Ø方法一:
显示→工具栏
Ø方法二:
在工具栏上任意地方单击鼠标右键
(2)工具栏的移动
Ø将光标定位在两个按钮之间的空白处用鼠标拖动或用鼠标拖动工具栏的标题栏。
4、工作区域。
用于显示数据和信息
clear
5、状态栏的介绍
Ø有OVR表示改写状态无OVR表示插入状态。
切换方式:
INSERT键
Ø有NUM表示小键盘可用,否则不可用。
切换方式:
NUMLOCK键。
Ø有CAPS表示输入的字母是大写,否则是小写。
切换方式:
CapsLock键.
6、命令窗口
(1)显示方法
Ø窗口→命令窗口
Ø常用工具栏→命令窗口按纽
ØCTRL+F2
(2)隐藏方法
Ø命令窗口上的关闭按纽
Ø常用工具栏→命令窗口按纽
ØCTRL+F4
7、输入法
CTRL+SHIFT(不同输入方法之间的切换)alt+SHIFT
CTRL+SPACE(中英文之间的切换)
8、设置默认路径(重点)
第二节项目的基本操作
一、.项目
项目是文件、数据、文档和VisualFoxPro对象的集合。
项目文件的扩展名为PJX。
①新建项目
㈠文件→新建→项目→新建文件
㈡新建按钮→项目→新建文件
㈢CREATEPROJECT文件名
②打开项目
㈠文件→打开→选择文件位置及项目名→确定
㈡打开按钮→选择文件位置及项目名→确定
㈢MODIFYPROJECT项目名
③关闭项目
㈠单击项目窗口中关闭按钮
④项目窗口的组成
㈠全部:
包括数据、文档、类、代码和其他
㈡数据:
数据库、自由表、查询和视图
㈢文档:
表单、报表和标签
㈣类
㈤代码:
程序、API库和应用程序
㈥其他:
菜单、文本文件和其他文件
⑤在项目中创建文件
选择文件类型→新建
新建的文件自动的添加该项目中,
而利用“文件”菜单中的“新建”命令创建的文件不属于任何项目。
⑥在项目中添加文件
选择文件类型→添加
⑦在项目中修改文件
选择文件→修改
⑧在项目中移去文件
选择文件→移去
在提示框中,选择“移去”按钮,系统仅仅从项目中移去所选文件,被移去的文件仍存在原目录下;
选择“删除”按钮,系统不仅从项目中移去所选文件,而且从磁盘中删除文件,文件将不存在
二、.数据库
在VisualFoxPro中,通过一组系统文件将相互关联的数据库表及其相关的数据库对象统一组织和管理。
数据库的扩展名为.DBC,建立与之相关扩展名为.DCT的数据库备注文件和扩展名为.DCX的数据库索引文件。
①建立数据库
㈠文件→新建→数据库→新建文件(数据库设计器处于打开状态)
㈡新建按钮→数据库→新建文件(数据库设计器处于打开状态)
㈢CREATEDATABASE文件名(数据库处于打开状态,但不打开数据库设计器)
②打开数据库
㈠文件→打开→选择文件位置及数据库名→确定
㈡打开按钮→选择文件位置及数据库名→确定
㈢OPENDATABASE数据库名
⑴当数据库打开时,数据库中的表都可以使用,但这些表不会自动打开,必须利用USE命令打开
⑵在同一时刻可以打开多个数据库(32767),但只有一个处于当前状态
⑶指定已打开数据库设置当前状态命令为“SETDATABASETO数据库名”
⑷利用OPENDATABASE数据库名命令,数据库处于打开状态,但不打开数据库设计器
③修改数据库
MODIFYDATABASE数据库名
不但打开数据库,而且打开数据库设计器
如果数据库名存在,表示打开数据库,如果数据库名不存在,表示新建数据库
④向数据库添加/移去表文件
⑴菜单方式
⑵命令方式
Addtable表文件
Removetable表文件
⑤关闭数据库
㈠CLOSEALL
㈡CLOSEDATABASE
㈢CLEARALL
第三次课
一.表的特点
表是二维关系,由多行,多列组成。
第1行是字段名行,其余的每一行是一条具体的记录信息
表结构(竖向)
①表的每一列的第一行是一个字段
②由于表中一般有好多条记录,而记录之间信息取值一般互不相同,所以,字段的值是随记录发生变化的。
记录不同,字段值不同,记录发生变化,字段的取值也要发生变化。
③由于字段的取值随时可以发生变化,所以在VF中,字段严格地被称为字段变量,字段变量有它的名称、类型和值。
字段变量的名称、类型和值由用户依据实际需要(在建表时)自己确定。
表记录(横向)
表中虽然有好多条记录,但是计算机在处理这些记录时只能一条一条的逐条处理,计算机当前正在处理的记录被称为当前记录,当前记录只能有一条,表中的任何一条记录都可以作为当前记录。
总的来说,一个表包括两大元素,结构和记录,结构决定表有几列(几个字段变量),记录是存储在表中的一条条信息。
二.表的分类
表为自由表和数据库表。
自由表是不属于任何数据库的表。
数据库表是存在于数据库中的表。
自由表和数据库表区别为:
①数据库表中的字段名可采用长文件名(128字符),自由表中的字段名可采用短文件名(10字符)
②数据库表的字段可以设置字段有效性,自由表中的字段则不可以
③数据库表中可以设置主索引,在自由表中则不可以
④数据库表中支持参照完整性,在自由表中则不可以
三.创建表结构
㈠创建表结构
①利用命令create文件名
②文件→新建→选择表→新建文件
③新建按钮→选择表→新建文件
在数据库打开下操作,产生的表为数据库表,在数据库没有打开下操作,产生的表为自由表
字段名必须以字母、汉字开头,字段名由字母、汉字、数字和下划线组成,不能包括空格
下列常用字段宽度为固定:
货币型(Y)8整型(I)4日期型(D)8逻辑型(L)1
日期时间型(T)8通用型(G)4备注型(M)4
下列常用字段宽度为可变:
字符型(C)数值型(N)浮动型(F)双精度型(B)
空值:
缺值或还未确定的值(NULL)。
它与空字符串,0值具有不同的意义。
㈡修改和显示表结构
A:
菜单方法:
显示→表设计器(显示的同时便可以修改)
B:
修改表结构的手工命令:
modifystructure
C:
显示表结构手工命令:
liststructure
四、输入记录
㈠手工追加记录
①在建立表结构同时输入记录
②浏览时追加一条记录:
③浏览时追加多条记录
④手工追加多条记录
APPEND
APPENDBLANK(自动添加一条空白记录)
㈡手工插入记录
INSERT
INSERTBLANK(自动完成)
INSERTBEFORE
INSERTBEFOREBLANK(自动完成)
说明:
操作需要两步
①确定位置
②插入记录
㈢表的备份(复制)
A:
只复制表的结构
格式:
copystructureto新表[fields字段清单]
功能:
将当前表结构中的指定字段复制到新表中。
注释:
Ø首先必须打开要复制的表,使其成为当前数据表。
Ø产生的新表是关闭的,新表的扩展名为.dbf。
Ø新表的字段由fields短语指定字段名和顺序,如果缺省,则复制全部表结构。
做题格式:
Use提供数据的表
copystructureto新表1[fields字段清单]
use新表1
显示→浏览(不是必需的)
B:
复制表
格式:
copyto新表[fields字段清单][for条件]
功能:
将当前数据表的结构和记录按照指定要求复制到新表中。
注释:
Ø首先必须打开要复制的数据表,使其成为当前数据表。
Ø产生的新表是关闭的,新表的扩展名为.dbf。
Ø新表的字段由fields短语指定字段名和顺序,如果缺省,则复制全部表结构。
Ø新表的记录由范围和条件短语选择,若缺省范围,默认为all
做题格式:
Use提供数据的表
copyto新表1[fields字段清单][for条件]
use新表1
显示→浏览(不是必需的)
㈣手工成批追加记录
APPENDFROM提供记录数据的表的名字[FOR要追加的记录应该满足的条件]
[FIELDS要追加的字段名列表]
use接收数据的表
APPENDFROM提供数据的表[FOR条件][FIELDS字段名列表]
第三次课程
一.显示记录
①DISPlay显示当前记录
②DISPALL分屏显示所有记录
③LIST[fields字段清单][范围][for条件]
途径1:
利用范围语句(四大范围,默认为ALL)
●ALL
●REST
●NEXTN
●RECORDN
途径2:
利用条件语句(常用FOR条件)
●FOR条件(对所有记录判断)
●WHILE条件
从当前记录开始逐个判断并选取满足条件的记录,遇见不满足条件的记录就停止判断选取工作。
记录指针指向这个不满足条件的记录。
二、查找并显示记录
1.无条件绝对定位GOTOP/BOTT/记录号
附加命令:
显示当前记录命令DISPlay
2.无条件相对定位SKIP±N
3.有条件顺序定位LOCATE和CONTINUE
LOCATEFOR条件(查找符合条件的第一条记录)
CONTINUE
4.菜单操作方式(单击显示→单击浏览→单击表→单击转到记录)
三.修改记录
㈠浏览时手工修改记录BROWSE
㈡逐条修改记录CHANGE,EDIT
㈢自动成批修改记录
REPLACE要修改字段名WITH用什么来替换(替换当前记录)
REPLACEALL要修改字段名WITH用什么来替换(替换所有记录)
REPLACEALL要修改字段名WITH用什么来替换FOR修改的记录应该满足的条件
(替换满足的条件所有记录)
四.删除记录
1.删除记录的步骤
①先逻辑删除
②物理删除
2.逻辑删除记录
①CTRL+T
②单击删除标记块
③DELETE命令
DELETE逻辑删除当前记录
DELETEALL逻辑删除所有记录
DELETEALLFOR条件逻辑删除满足条件的所有记录
3.恢复逻辑删除记录
①CTRL+T
②单击删除标记块
③RECALL命令
RECALL恢复当前记录
RECALLALL恢复所有记录
RECALLALLFOR条件恢复满足条件的所有记录
4.物理删除所有已经逻辑删除的记录
PACK命令(无法还原)
9、一次性真正删除表中的所有记录
ZAP(清空命令)(只有表结构,表记录全部删除)
五.排序
SORTON排序所依据的字段[/A或/D]TO排序结果表文件名[FOR条件][FIELDS字段名列表]
说明:
①/A表示升序,/D表示降序
②选择FOR条件表示对符合条件的记录排序,不选择FOR条件所有记录参与排序
③选择FIELDS字段列表表示新表中将要产生的字段,不选择FIELDS字段列表表示新表中将要产生的字段为原表中的所有字段
第四次
一.索引的定义
由指针构成的文件,这些指针逻辑上按照索引关键字值进行排序,索引文件和表文件分别存储,并且不改变表中的记录物理顺序。
创建索引是创建一个指向表文件记录的指针构成的文件。
在VF中,建立索引的目的提高查询速度。
二.索引的分类
㈠主索引
依据关键字段建立的索引。
主索引只能有一个。
数据库表建立主索引,自由表不能建立主索引。
建立主索引的关键字段值不能有重复值和空值。
㈡候选索引
按候选关键字段建立的索引。
候选索引与主索引的唯一区别是在数据库表和自由表可以建立多个候选索引。
㈢唯一索引
索引字段值相同的记录只保留一条记录。
㈣普通索引(默认的索引方式)
普通索引也可以决定记录的物理顺序,它不仅允许字段中出现重复值,而且索引项中也允许出现重复值,在一个表可以建立多个普通索引。
主索引、候选索引、惟一索引及普通索引中,主索引在数据库表中建立,主索引和候选索引可以保证字段值唯一性。
唯一索引相同的记录只保留一条记录。
候选索引和普通索引在一个表可以建立多个。
三、单项索引文件建立的命令
INDEXON索引字段TO索引文件名
说明:
建立单独索引文件,在建立临时索引才使用,该文件扩展名为.IDX,不能实现系统的自动维护.
四.VF的索引方案与结构复合索引文件
对同一张表可以根据实际需要建立不同的索引方案,索引方案又称为索引名,这些索引方案共同保存在同一个索引文件中,该索引文件是结构复合索引文件,结构复合索引文件的主名与表文件的主名相同,扩展名为.CDX,结构复合索引是VF默认的索引方式,建议使用。
结构复合索引文件特点为:
①在打开表文件的同时打开结构复合索引文件
②在同一个结构复合索引文件中包括多个索引方案(索引名)
③在添加,更新和删除记录是自动维护.
按照索引组织形式划分共分三类:
㈠非结构单索引,文件扩展名为.IDX
㈡非结构复合索引,文件扩展名为.CDX,索引名与字段名不相同
㈢结构复合索引,文件扩展名为.CDX,索引名与字段名相同
五.结构复合索引文件的建立
方法1:
利用命令来建立索引
INDEXON索引字段TAG索引名ASCE/DESCUNIQUE/CANDIDATE
说明:
●一条该命令建立一个索引方案,多条命令可以建立多个索引方案。
●在第一次建立索引方案时将自动生成结构复合索引文件,以后建立所有的索引方案自动存入该结构复合索引文件中。
●ASCE表示升序DESC表示降序。
●UNIQUE表示唯一索引,CANDIDATE表示候选索引。
途径2:
利用表设计器(没有立即起作用)
●单一字段的索引
●多个字段的组合索引
六.索引的使用
设置索引方案(索引名)为当前索引(选择索引方案)
SETORDERTO索引方案名ASCE/DESC
删除索引方案
途径1:
利用表设计器
途径2:
利用命令
DELETETAG索引方案名将删除指定索引方案
DELETETAGALL将删除全部索引方案
第五次课程
一、多表之间的永久关系
㈠相关概念
多表永久关系针对数据库表建立,关系一旦建立,就一直存在,除非人工删除。
多表永久关系是建立多表参照完整性等操作的前提工作。
父表:
主动的与其它表建立关系,包含关键字段。
(主索引)
子表:
被动的与其它表建立关系(普通索引)
㈡建立多表之间的永久关系的步骤
①建立或打开数据库
②将相关表添加到数据库中
③依据以下规则对父表和子表建索引
多表关系
父表
子表
一对一
主索引
主索引
一对多
主索引
普通索引
多对多
必须转换为一对一或一对多
④建立多表之间的永久关系
二、数据完整性(考虑操作表记录的正确性,只针对数据库表)
数据完整性是指保持表中数据正确的特性,包括实体完整性、域完整性和参照完整性,数据完整性由操作人员自行设定。
㈠实体完整性
是保证表中记录唯一性的特性,在VF中关键字段值互不相同表示记录不重复。
实体完整性通过建立主索引或侯选索引来实现。
㈡域完整性
是在建立表结构信息时定义的限制该字段数据的一组特性。
比如数据类型、宽度、小数位的限制等。
域完整性还可以通过域约束规则来进一步完善。
域约束规则:
也称为字段有效性规则,在插入或修改字段值<记录数据>时起作用,检查输入数据是否满足预先设置的有效性规则(条件)。
建立字段有效性规则是在表设计器中进行的,在表设计器中有一组定义字段有效性规则的项目,它们是规则、信息、默认值。
规则:
指明输入数据应该满足的条件。
信息:
指明当输入错误数据后,计算机在不接受的同时显示什么错误提示信息。
默认值:
指明初始取值,如果不输入数据,则自动取默认值,这样可以提高输入速度。
“规则”是逻辑表达式,“信息”是字符串表达式,“默认值”的类型根据字段类型确定
㈢参照完整性的建立
参照完整性是指当插入、删除、修改一个表中的记录数据时,通过参照引用相互关联的另外一个表中的记录数据,来检查对上一个表记录数据的操作是否可行。
建立参照完整性规则的方法
①首先建立多表之间的联系:
父表为主索引,子表为普通索引,然后根据索引字段由父表拖动到子表
②清理数据库:
物理删除数据库中各个表中带有删除标记的记录
③右击多表之间的“连线”编辑参照完整性
参照完整性包括:
更新规则,插入规则,删除规则
更新规则:
当父表中连接字段值发生变化时,处理子表中的记录方式为:
①选择“级联”,用新的连接字段值自动修改子表中的相关记录
②选择“限制”,若子表中有相关记录,则禁止修改父表中连接字段值
③选择“忽略”,不进行参照完整性的检查,则随意修改父表中连接字段值
插入规则:
当子表中插入记录时,是否进行参照完整性的检查
①选择“限制”,若父表没有相关匹配的连接字段值时,禁止在子表中插入记录
②选择“忽略”,不进行参照完整性的检查,随意在子表中插入记录
删除规则:
当删除父表记录时,处理子表中的记录方式为:
①选择“级联”,自动删除子表中的相关所有记录
②选择“限制”,若子表中有相关记录,则禁止删除父表中记录
③选择“忽略”,不进行参照完整性的检查,则随意删除父表的记录和子表无关
㈣删除参照完整性规则的方法
右击多表之间的“连线”删除多表关系
第五次课程
一、基本概念
①当前表是指当前选中的表,正在接受和执行命令的表,当前表只能有一个。
②非当前表是指当前没有选中的表,非当前表可以有多个,非当前表不执行命令。
③源表和目标表:
在编程题中,多表操作一般至少告诉两个表,在已知的两个表中,一个是用来提供数据的表称为源表,另外一个是用来被修改记录的表,称为目标表,在程序执行前后,源表不发生任何变化,目标表必须发生变化。
在打开多表时,源表作为非当前表,而目标表则作为当前表。
④工作区,工作区区号,工作区别名:
在VF中每打开一个表,就要占用一个内存区域,在每个内存区域中只能打开一个表文件及其索引文件,同一个表及其索引文件不能同时在不同内存区域打开。
要打开多个表就需要有多个相同的内存区域。
,在VF中内存区域被称为工作区,VF总共有32767个工作区,工作区区号从1到32767,工作区的别名规定为:
前10个工作区为A到J,11到32767的别名为W11到W32767
二、同时打开多张表
①选择工作区
SELECT工作区号/工作区别名/该工作区中打开的表文件的别名/0
②打开表
USE表名
③关闭当前表
USE
④关闭所有表
CLOSEALL
④在指定工作区打开表
USE表名IN工作区区号
说明:
①表的别名由用户在打开表时自己确定。
如果打开表时没有起别名,那么原名就是它自己别名,原名和别名相同。
②选择工作区时,可以写工作区区号,也可以写工作区别名,如果在该工作区中已经打开表,也可以写表的别名。
③SELECT0表示选中最小号空闲工作区,选中空闲工作区中区号最小号的工作区。
三、在当前表中如何访问非当前表中的字段变量信息
用访问符,访问符有四种写法
工作区别名->字段名
表别名->字段名
表别名.字段名
工作区别名.字段名
访问当前表字段变量可以不加访问符,访问非当前表字段变量必须加访问符,建议全写。
四、使非当前表记录指针同时移动的方法——多表逻辑连接
多表逻辑连接也叫关联,是将当前表目标表和非当前表源表按一定的关系建立联系,建立关联以后,当主动表记录指针发生移动时,被动表记录指针也要相应的发生移动。
关联从逻辑上虚拟的将多表操作变为单表操作,在当前表就可以放心地去使用非当前表中的字段数据,当命令从当前表发出以后,非当前表也要积极的响应,按照关联的关系同步完成所需的操作,逻辑连接是从逻辑上将两个表合并为一个表,用户看到的和使用的是一个表,实际上并没有合并,仍然是二个表。
关联是多表之间的临时关系,当关闭表时,临时关系自动解除。
但临时关系与数据库无关。
五、建立逻辑连接
Closeall
Select1
Use非当前表(源表)
Indexon关键字段tag索引名(setorderto关键字段)
Select2
Use当前表(目标表)
Setrelationto关键字段into非当前工作区别名
Replace字段名with用谁替换for关键字段=非当前工作区别名.关键字段
命令SETRELATO关联字段表达式INTO被动表[ADDI]
功能将当前表主动表和非当前表被动表按关联字段表达式建立关联
说明
执行该命令以前非当前表必须按关联字段建立索引,关联字段一般是两张表的共同字段,一般是关键字段,该命令在当前表中执行
解除关联
命令SETRELATO
功能解除与当前表建立的所有关联
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vf 讲义 第一 部分