1、VFP6.0程序设计教程专业:市场营销主讲:周小兰第一章第一章 数据库系统基础知识数据库系统基础知识1.1 数据库系统概述数据库系统概述v1.数据处理数据处理v数据:数据:v是对事实、概念或指令的一种特殊表达形式,可以用人工的方式或自动化的装置进行通信、翻译转换或者进行加工处理。它包括两类:一类是能参与数字运算的数值型数据数值型数据;一类是不能参与数字运算的非数值型数据非数值型数据,如文字、图画、声音、活动图象等。v数据处理数据处理:v是对各种类型的数据进行收集、存储、分类、计算、加工、检索与传输的过程。v包括:收集原始数据、编码转换、数据输入、数据处理、数据输 1.1 数据库系统概述数据库系
2、统概述v2.数据库系统数据库系统 (1)数据库(数据库(DataBase)定义:定义:是以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。特点特点:具有最小的冗余度、具有数据独立性、实现数据共享、安全可靠、保密性能好 (2)数据库管理系统()数据库管理系统(DataBase Management System)定义:定义:是操纵和管理数据库的系统软件。Visual FoxPro 属于一种关系型数据库管理系统。数据语言:数据语言:数据定义语言(数据定义语言(DDL):):用来建立所需的数据库。数据操作语言(数据操作语言(DML):):用来对数据库进行查询和维护操作。关系型数据库使用的
3、标准语言是结构化查询语言结构化查询语言(Structured Query Language,SQL)。1.1 数据库系统概述数据库系统概述v(3)数据库系统()数据库系统(DataBase System)v定义定义:是以数据库应用为基础的计算机系统。是以数据库应用为基础的计算机系统。v组成:组成:v数据库数据库v硬件(计算机硬件设备)硬件(计算机硬件设备)v软件(数据库管理系统软件(数据库管理系统、操作系统)、操作系统)v用户(应用程序设计员、终端用户、数据库管理员用户(应用程序设计员、终端用户、数据库管理员)v分类:层次型数据库、网状型数据库、关系型数据库分类:层次型数据库、网状型数据库、关
4、系型数据库v分代:第一代分代:第一代 非关系型数据库系统,非关系型数据库系统,60年代末问世,包括层次型和年代末问世,包括层次型和网状型。网状型。v第二代第二代 关系型数据库系统(关系型数据库系统(RDBS),),70年代中期问世。年代中期问世。v第三代第三代 对象对象-关系数据库系统(关系数据库系统(ORDBS、OOBDS),),80年代中期年代中期至今。至今。v上述三个概念之间的联系:在数据库系统中通过数据库管理系统来建上述三个概念之间的联系:在数据库系统中通过数据库管理系统来建立和使用数据库。立和使用数据库。1.1 数据库系统概述数据库系统概述v3关系模型关系模型 v三个领域:三个领域:
5、现实世界现实世界事物(对象、性质)v 观念世界观念世界实体(对象、属性)v 数据世界数据世界数据(记录、字段)v实体模型实体模型:即反映事物联系的实体。v数据模型数据模型:即描述实体模型的数据。v数据模型的分类数据模型的分类:层次模型层次模型(采用树型结构)v网络模型网络模型(采用无向图型结构)v关系模型关系模型(采用二维表结构)v关系模型的性质:关系模型的性质:v二维表的记录数随数据的增加而改变,但其字段数是相对固定的;二维表中的每一列均有唯一的字段名;二维表中不允许出现完全相同的两行二维表中行的顺序、列的顺序均可以任意交换。v二维表的主关键字二维表的主关键字:超关键字:超关键字:能唯一确定
6、记录的一列或几列的组合v 候选关键字:候选关键字:最简练的超关键字v 主关键字:主关键字:候选关键字中的一个v 外部关键字:外部关键字:当A表的主关键字被包含到B表中时,则称A表的主关键字为B表的外部关键字。v4.微机关系型数据库系统的发展微机关系型数据库系统的发展v关系型数据库关系型数据库:即根据表、记录和字段之间的关系进行组织和访问的一种数据库。名名 称称运行环境运行环境公司名称公司名称发布时间发布时间dBASE,dBASE,dBASE,dBASE PLUS,dBASEDOSAshton-TateFoxBASE 1.0DOSFox软件公司1987.2FoxBASE+(2.00/2.10)D
7、OSFox软件公司87.7/88.7FoxPro 1.0DOSFox软件公司1989FoxPro 2.0DOSFox软件公司1991FoxPro 2.5DOS、WINDOWS 3.x微软公司1993.1FoxPro 2.6DOS、Windows 3.x微软公司1994Visual FoxPro 3.0Windows 3.X微软公司1996.1Visual FoxPro 5.0Windows 95微软公司1997.2Visual FoxPro 6.0Windows 98微软公司1998.112 Visual FoxPro 6.0概述概述1.VFP6.0的特点的特点v完善了关系型数据库的概念,采用
8、了Rushmore技术,引入了SQL命令;支持多种数据交换格式;采用了可视化的面向对象的程序设计方式;提供了功能完善的集成环境和丰富的开发工具。v2.VFP6.0的用户界面的用户界面 图例图例v界面基本组成界面基本组成:标题栏、主菜单栏、工具栏、主窗口、命令窗口、状态栏系统工具一览表系统工具一览表各种菜单各种菜单各种工具栏各种工具栏各种窗口各种窗口各种设计器各种设计器各种生成器各种生成器各种向导各种向导文件文件菜单常用工具栏命令窗口数据库设计器文本框生成器表向导编辑编辑菜单表单控制工具栏浏览窗口表设计器组合框生成器交叉表向导显示显示菜单布局工具栏代码窗口表单设计器命令组生成器查询向导格式格式菜
9、单调色板工具栏调试窗口菜单设计器编辑框生成器本地视图向导工具工具菜单打印预览工具栏编辑窗口报表设计器表达式生成器表单向导程序程序菜单报表控制工具栏查看窗口标签设计器表单生成器一对多表单向导窗口窗口菜单查询设计器工具栏跟踪窗口类设计器表格生成器报表向导帮助帮助菜单表单设计器工具栏属性窗口连接设计器列表框生成器一对多报表向导菜单菜单菜单报表设计器工具栏通用字段窗口查询和视图设计器参照完整性生成器标签向导数据环境数据环境菜单数据库设计器工具栏远程视图向导表单表单菜单项目管理器窗口数据环境设计器自动格式生成器邮件合并向导项目项目菜单导入向导查询查询菜单选项组生成器图形向导报表报表菜单数据透视表向导表表
10、菜单分组/总计报表向导数据库数据库菜单类类菜单12 Visual FoxPro 6.0概述概述v3.VFP 6.0的工作方式的工作方式v(1)菜单操作方式菜单操作方式v根据所需的操作从菜单中选择相应的命令(与WORD类似)。每执行一次菜单命令,命令窗口中一般都会显示出与菜单对应的命令内容。v利用工具工具菜单中的向导向导可以很方便地完成常规任务。v(2)命令交互方式命令交互方式v根据所要进行的各项操作,采用人机对话方式在命令窗口命令窗口中按格式要求逐条输入所需命令,按回车后,机器逐条执行。v(3)程序执行方式程序执行方式v先在程序编辑窗口编辑窗口中编完程序,再从程序程序菜单中选择执行执行,或从命
11、令窗口命令窗口中输入DO 命令,让机器执行。4.VFP 6.0常用文件类型常用文件类型 扩展名扩展名文件类型文件类型扩展名扩展名文件类型文件类型.app生成的应用程序.frx报表.exe可执行程序.frt报表备注.pjx项目.lbx标签.pjt项目备注.lbt标签备注.dbc数据库.prg程序.dct数据库备注.fxp编译后的程序.dcx数据库索引.err编译错误.dbf表.mnx菜单.fpt表备注.mnt菜单备注.cdx复合索引.mpr生成的菜单程序.idx单索引.mpx编译后的菜单程序.qpr生成的查询程序.vcx可视类库.qpx编译后的查询程序.vct可视类库备注.scx表单.txt文本
12、.sct表单备注.bak备份文件12 Visual FoxPro 6.0概述概述v5.创建文件创建文件 v新建各种类型的文件时,可以利用系统提供的相应工具,以提高工作效率。新建文件时可用的设计器和向导。1.3 项目管理器项目管理器v1.项目管理器简介项目管理器简介v项目项目:v是一种文件,用于跟踪创建应用系统所需要的所有程序、表单、菜单、库、报表、标签、查询和一些其他类型的文件。v项目管理器:项目管理器:图例图例v是开发VFP应用系统的一个工具,它生成一个项目文件,项目文件的扩展名为.PJX,项目备注的扩展名为:.PJT。v项目管理器窗口的组成项目管理器窗口的组成:v由6大类数据项(全部、数据
13、、文档、类、代码、其他)和10个命令按钮(新建、添加、修改、浏览、关闭、打开、预览、运行浏览、关闭、打开、预览、运行、移去、连编)组成。v注:粗斜体表示的命令按纽根据用户选择的不同对象相应地出现。v项目菜单的组成项目菜单的组成:13个子菜单(其中一部分与项目管理器中的命令按钮功能相同)。v项目管理器的功能项目管理器的功能:组织和管理所有与应用系统有关的各种类型的文件。1.3 项目管理器项目管理器v2.创建项目文件创建项目文件v用菜单方式用菜单方式:v打开文件文件菜单 新建新建 项目项目 新文件新文件 给出合适的项目文件名及保存位置 进入项目管理器 开发应用系统 完成后关闭窗口退出。v用命令方式
14、用命令方式:v语法:CREATE PROJECT v功能:打开项目管理器窗口进行应用系统的开发。1.3 项目管理器项目管理器v3.修改项目文件修改项目文件v用菜单方式用菜单方式:v打开文件文件菜单 打开打开 找到所需的项目文件并确确定定之 进入项目管理器 修改应用系统 完成后关闭窗口退出。v用命令方式用命令方式:v语法:MODIFY PROJECT v功能:打开项目管理器窗口进行应用系统的修改。1.3 项目管理器项目管理器v4.项目管理器的使用项目管理器的使用v可以利用项目管理器来创建、打开、浏览、修改所有VFP文件并运行其中的表单、报表、标签、菜单、程序等。特别是可以利用它来连编项目连编项目
15、(追踪这些文件的变化情况,包括它们之间的相关性、引用和连接等,确保引用的完整,并加入自上次连编之后更新了的一些组件)、应用程序应用程序(扩展名为.APP,在VFP环境下执行)和可执行文件可执行文件(扩展名为.EXE,能脱离VFP环境执行)。1.4 VFP 6.0 的一些规则的一些规则v1.VFP6.0 的命名规则的命名规则:v 只能使用字母、下划线和数字。v 使用字母或下划线作为名称的开头。v 名称可以是 1 至 128 个字符,但自由表的字段名和索引标识最多只能有 10 个字符。v 避免使用 Visual FoxPro 的保留字。v 文件的命名遵循操作系统的约定。1.4 VFP 6.0 的一
16、些规则的一些规则v2.命令和子句的书写规则命令和子句的书写规则v(1)以命令动词开始;v(2)各部分之间要用空格隔开;v(3)命令、子句、函数名都可简写为前4个字符,大、小写等效;v(4)一行只能写一条命令,总长度不超过8192个字符,超过屏幕宽度时用续行符“;”;v(5)变量名、字段名和文件名应避免与命令动词、关键字或函数名同名,以免运行时发生混乱。v(6)命令格式中的符号约定:v命令中的 、|、符号都不是命令本身的语法成分,使用时不能照原样输入,v其中其中:表示可选项,根据具体情况决定是否选用v|表示两边的部分只能选用其中的一个v 表示可以有任意个类似参数,各参数间用逗号隔开v 表示其中内
17、容要以实际名称或参数代入1.4 VFP 6.0 的一些规则的一些规则v3 命令工作方式中的常见错误命令工作方式中的常见错误 v(1)命令动词写错v(2)格式不符合要求v 标点符号不对(一定要用英文标点符号)v 缺少必需的空格或添加了不该有的空格 v 数据类型不一致,要注意字符型、数值型、日期型、逻辑型数据的书写格式 v(3)打不开所需文件:没有正确输入盘符和路径或文件名输错第二章第二章 表的创建和使用表的创建和使用2.1 VFP6.0表表v1.表的概念表的概念v表(数据表)表(数据表):v是指存放在磁盘文件中的一张二维表。(相当FoxPro 2.x 版本中的数据库)v自由表:自由表:不属于任何
18、数据库的表。v数据库表:数据库表:包含在一个数据库中的表。v表文件名:表文件名:v表名可以由字母、数字或下划线组成,系统自动给出的扩展名为.DBF。v备注文件名:备注文件名:v当表中有备注型或通用型字段时,系统自动生成与所属数据表的表名相同、扩展名为:.FPT的文件名。v表结构表结构:存储表记录的公共结构。(就是指一张表的表头结构,即字段的属性)。v记录记录:表中的一行。它是多个字段的集合,同一张表的每个记录都有相同的字段。v字段字段:表中的一列。它规定了数据的特征。v关系型数据表的特点关系型数据表的特点:v(1)每一个字段不可再分解,也不能有名字相同的字段;v(2)每一列中的数据都有相同的数
19、据类型;v(3)表中没有内容完全相同的行(记录)。2.1 VFP6.0表表v2.字段的基本属性字段的基本属性v字段的属性:字段的属性:v包括:字段名、数据类型、字段宽度、小数位数、空值支持v字段名:字段名:v即每个字段的名字,必须以字母开头,可由字母、数字、下划线组合而成,字母大、小写无区别,但其中不许有空格或其它字符。自由表的字段名最多由10个字符组成,数据库表的字段名支持长名,最多可达128个字符。如果从数据库中移去一个表,那么此表的长字段名将被截短成 10 个字符。vVFP允许长字段名和长表名,但使用长名称对于跨平台的操作可能遇到难以预料的结果。v数据类型数据类型:指该字段的数据特征。v
20、字段宽度:字段宽度:指该字段所能容纳数据的的最大字节数。v小数位数:小数位数:指数值型数据将保留几位小数。此时的字段宽度=整数位数+1+小数位数。vNULL 值(空值)值(空值):v无明确的值。NULL 值不等同于零或空格。一个 NULL 值不能认为比某个值(包括另一个 NULL 值)大或小,相等或不同。字段类型字段类型代号代号说明说明字段宽度字段宽度使用示例使用示例字符型C字母、汉字和数字型文本每个字符为1个字节,最多可有 254 个字符学生的学号或姓名,8199101 或 李立货币型Y货币单位8 个字节工资,$1246.89日期型D包含有年、月和日的数据8 个字节出生日期,02/25/20
21、00日期时间型T包含有年、月、日、时、分、秒的数据8 个字节上班时间,02/25/2000 9:15:15 AM逻辑型L“真”或“假”的布尔值1 个字节课程是否为必修课,.T.或.F.数值型N整数或小数在内存中占 8 个字节;在表中占1 至20个字节考试成绩,83.5双精度型B双精度浮点数8 个字节实验要求的高精度数据浮点型F与数值型一样整型I不带小数点的数值4 个字节学生的数量通用型GOLE 对象在表中占 4 个字节图片或声音备注型M不定长度的一段文字在表中占 4 个字节学生简历字符型(二进制)C任意不经过代码页修改而维护的字符数据每个字符用1个字节,最多可有 254 个字符备注型(二进制)
22、M任意不经过代码页修改而维护的备注数据在表中占 4 个字节2.1 VFP6.0表表v3.表的基本操作表的基本操作v表的创建表的创建:设计表名和表结构、输入记录、建立索引v数据维护:数据维护:增加记录、修改记录、删除记录v创建表的主要步骤创建表的主要步骤:设计表结构 输入记录 建立索引 数据维护2.1 VFP6.0表表4关于表操作的几个基本命令关于表操作的几个基本命令命令格式命令格式功能功能CREATE 表文件名创建一个新的自由表的结构USE 表文件名打开指定的表文件USE关闭当前表文件LIST ALL显示当前表的全部记录内容(类似于DOS 命令中的dir)DISPLAY ALL分屏式地显示当前
23、表的全部记录内容(类似于DOS中的dir/p)DISPLAY STRUCTURE显示当前表的结构(分屏显示)LIST STRUCTURE显示当前表的结构(不分屏显示)MODIFY STRUCTURE调出表设计器,修改当前表的结构。CLEAR清除主窗口中的所有内容2.2 表结构的创建和修改表结构的创建和修改v1.表结构的创建表结构的创建v创建表结构其实就是设计字段的基本属性。可以使用表设计器、表向导或SQL命令来创建表结构。v(1)使用表设计器创建表)使用表设计器创建表 图例图例v步骤:步骤:v从文件文件菜单中单击新建新建 在新建新建对话框中选择表表并单击新文件新文件 在创建创建对话框中给出文件
24、名文件名并确定所需的保存位置保存位置 在表设计器表设计器对话框中逐个输入所需字段(用或鼠标换行),全部字段输入完成后单击确定确定。2.2 表结构的创建和修改表结构的创建和修改v(2)使用表向导创建表)使用表向导创建表v步骤:步骤:v从文件文件菜单中单击新建新建 在新建新建对话框中选择表表并单击向导向导在表向表向导导中做第1步:选取字段选取字段,完成后单击下一步下一步 在表向导表向导中做第1a步:选择数据库选择数据库,完成后单击下一步下一步 在表向导表向导中做第2步:修改字段设置修改字段设置,完成后单击下一步下一步 在表向导表向导中做第3步:为表建索引为表建索引,完成后单击下下一步一步 在表向导
25、表向导中做第4步:完成完成,选择表的保存方法,完成后单击完完成成 在另存为另存为对话框中给出文件名文件名并确定所需的保存位置保存位置。v注意注意:v先选择一个与待建数据表类似的样表,再从中挑选出所需的部分字段,然后在下一步根据实际需要修改或直接采用原字段的宽度。2.2 表结构的创建和修改表结构的创建和修改v(3)使用使用 CREATE TABLE-SQL命令命令v该命令的一般格式为:vCREATE TABLE|dbf(字段名1 字段类型(字段宽度,小数位数),字段名2 字段类型(字段宽度,小数位数)v例例:CREATE TABLE xscj(xh c(8),xm c(6),xb c(2),;c
26、j n(5,1),ksrq d)2.2 表结构的创建和修改表结构的创建和修改v2.表结构的修改表结构的修改v(1)用表设计器修改)用表设计器修改v用菜单调出表设计器用菜单调出表设计器:v打开打开所需的表文件 单击显示显示菜单中的表设计表设计器器 在表设计器表设计器对话框中对字段进行修改 修改完毕单击确定确定并在消息框中选择是是。v用命令调出表设计器:用命令调出表设计器:vUSE vMODIFY STRUCTURE 2.2 表结构的创建和修改表结构的创建和修改v(2)使用使用 ALTER TABLE-SQL命令命令 功能功能命令格式示例命令格式示例添加字段ALTER TABLE xscj ADD
27、 COLUMN kcmc C(14)重命名字段ALTER TABLE xscj RENAME COLUMN kcmc TO kc删除字段ALTER TABLE xscj DROP COLUMN kc 2.3 表记录的处理表记录的处理 v1 记录的输入记录的输入v(1)立即输入方式立即输入方式:v设计好表的结构后,系统会提示是否直接进入数据输入状态。若选是,则进入编辑窗口,输完后单击“X”按钮退出,系统自动存盘。需输入备注型或通用型字段的数据时,双击“memo”或“gen”,在新打开的编辑窗口中输入所需内容,输完后单击“X”按钮系统自动存盘,退回到原窗口,此时字段中的“memo”或“gen”变成
28、“Memo”或“Gen”。v(2)追加方式追加方式:v若设计好表的结构后并没有及时输入数据,则可以用追加方式:v从文件文件菜单中(或从命令窗口命令窗口中输入:USE 表文件名)打开打开所需表文件 从显示显示菜单中选择浏览浏览 再从显示显示菜单中选择追加方式追加方式 在浏览窗口中输入所需记录。2.3 表记录的处理表记录的处理 追加记录的方式追加记录的方式适用的场合适用的场合显示显示菜单中的追加方式在现有数据表的尾部添加一个或多个新记录表表菜单中的追加新记录在现有数据表的尾部添加一个新记录表表菜单中的追加记录从其它数据表中将符合要求(字段名和字段类型相同)的记录添加在当前数据表的尾部APPEND
29、BLANK在当前表的末尾自动添加一个或多个新记录。相当于显示菜单中的追加方式。有BLANK时添加一个空记录,相当于表菜单中的追加新记录。APPEND FROM 表文件名 FIELDS 字段名1,字段名2 FOR 条件 从其它数据表中将符合要求(字段名和字段类型相同)的记录添加在当前数据表的尾部。相当于表菜单中的追加记录。APPEND FROM 文本文件名 SDF将符合要求的文本文件全部追加在当前数据表的尾部。注意:文本内容要与表中的字段结构相适应。文件文件菜单中的导入 将其它类型的文件转换成一个完整的VFP数据表。2.3 表记录的处理表记录的处理 v(3)使用使用INSERT-SQL命令命令v
30、该命令的一般格式为:vINSERT INTO(字段名1,字段名2)VALUES(表达式1,表达式2)v例例:INSERT INTO xscj(xh,xm,cj)VALUES(81991001,张良,85.5)2.3 表记录的处理表记录的处理v2.记录的浏览记录的浏览v(1)通过浏览窗口通过浏览窗口v(2)通过通过BROWSE 命令命令vBROWSE命令用来打开表的浏览窗口,可通过不同的子句来实现对特定记录的浏览。2.3 表记录的处理表记录的处理vVFP命令中的常用子句命令中的常用子句 v1)范围子句范围子句子句格式子句格式功能功能ALL表示对表文件的全部记录进行操作NEXT n表示对从当前记录
31、开始的共n个记录进行操作,n为正整数RECORD n指明操作对象是表文件的第n号记录REST对从当前记录起到文件结尾的全部记录进行操作2.3 表记录的处理表记录的处理vVFP命令中的常用子句命令中的常用子句v2)FOR子句子句v用于指明进行操作的条件。v格式格式:FOR v指明只对指定范围中那些符合给定条件的进行当前操作。v例如:list NEXT 6 FOR cj 852.3 表记录的处理表记录的处理vVFP命令中的常用子句命令中的常用子句v3)WHILE 子句子句v也用于指明进行操作的条件。也用于指明进行操作的条件。v格式格式:WHILE v例如:例如:list NEXT 6 WHILE
32、cj 852.3 表记录的处理表记录的处理vVFP命令中的常用子句命令中的常用子句v4)FIELDS 子句子句v用于指明当前的操作涉及到表文件的哪些字用于指明当前的操作涉及到表文件的哪些字段。段。v格式:格式:BROWSE FIELDS 字段名字段名1,字段,字段名名2v例如:例如:BROWSE FIELDS xh,xm,cj2.3 表记录的处理表记录的处理v3.记录的定位记录的定位v(1)系统对记录的三个控制标志系统对记录的三个控制标志 v记录开始标志:记录开始标志:位于第一个记录之前。其值用函数BOF()()进行测试。v记录指针标志:记录指针标志:指向当前记录。其值用函数RECNO()()
33、进行测试。v记录结束标志:记录结束标志:位于最后一个记录之后。其值用函数EOF()()进行测试。v记录指针可以理解为保存当前记录号的变量,它的初始值总是1,不可能为0或负数,最大值是表中记录总数+1。2.3 表记录的处理表记录的处理v3.记录的定位记录的定位v v 刚打开表时记录指针的情况刚打开表时记录指针的情况表中记录情况表中记录情况BOF()的值()的值RECNO()的值()的值EOF()的值()的值无记录无记录.T.1.T.有记录有记录.F.1.F.2.3 表记录的处理表记录的处理v3.记录的定位记录的定位v(2)记录的定位方式)记录的定位方式v绝对定位:是指把指针移到指定的位置。绝对定
34、位:是指把指针移到指定的位置。v相对定位:相对定位:v是指把指针从当前位置开始,相对于当前记录向前或向后移是指把指针从当前位置开始,相对于当前记录向前或向后移动若干个记录位置。动若干个记录位置。v条件定位:条件定位:v是指按一定的条件在整张表或表的某个指定范围中查找符合是指按一定的条件在整张表或表的某个指定范围中查找符合该条件的记录。该条件的记录。v通过菜单进行定位通过菜单进行定位 v从表菜单中选择转到记录从表菜单中选择转到记录:记录号记录号实现绝对定位实现绝对定位 v定位定位 实现条件定位实现条件定位2.3 表记录的处理表记录的处理v3.记录的定位记录的定位 通过命令进行定位通过命令进行定位
35、命令格式命令格式功能功能备注备注绝对定位GO TOP将记录指针定位到表文件之首或 GOTO TOPGO BOTTOM将记录指针定位到表文件之尾或GOTO BOTTOMGO 将记录指针定位到指定的n号记录 相对定位SKIP 将记录指针从当前记录向上或向下移动n个n为正值则向下移动 n为负值则向上移动无n向下移动 1个条件定位LOCATE FOR 范围 按顺序搜索表,直到找到满足指定条件的第一个记录默认范围是所有记录2.3 表记录的处理表记录的处理v4.记录的修改和删除记录的修改和删除v一张表用非只读方式打开后,即可通过菜单在浏览窗口(或编辑窗口)中或从命令窗口中用命令直接对其记录进行编辑、修改和
36、删除。2.3 表记录的处理表记录的处理v4.记录的修改和删除记录的修改和删除v(1)菜单方式菜单方式v修改记录:修改记录:v从表菜单中选择替换字段从表菜单中选择替换字段 在替换字段对话框中选择待替换的字段在替换字段对话框中选择待替换的字段并构造出替换表达式及替换条件并构造出替换表达式及替换条件 替换。替换。v删除记录:删除记录:v从表菜单中选择删除记录从表菜单中选择删除记录 在删除对话框中选择删除范围和删除条件在删除对话框中选择删除范围和删除条件 单击删除按钮单击删除按钮 从表菜单中选择彻底删除从表菜单中选择彻底删除 在消息框中单击是。在消息框中单击是。v删除记录包括两步:删除记录包括两步:标
37、记要删除的记录标记要删除的记录 和和 彻底删除带删除标记的记录彻底删除带删除标记的记录v恢复带删除标记的记录:恢复带删除标记的记录:v从表菜单中选择恢复记录从表菜单中选择恢复记录 在恢复记录对话框中选择作用范围和条件在恢复记录对话框中选择作用范围和条件 单击恢复记录按钮。单击恢复记录按钮。2.3 表记录的处理表记录的处理v4.记录的修改和删除记录的修改和删除v(2)SQL命令方式命令方式(表事先可以不打开,适用于编程工作方式表事先可以不打开,适用于编程工作方式)v修改记录:修改记录:用用 UPDATE-SQL 命令。命令。v命令格式:命令格式:UPDATE SET 字段字段1=表达式表达式1,
38、字段,字段2=表达式表达式2;vWHERE 条件表达式条件表达式v例:例:UPDATE xscj SET cj=cj*1.05 WHERE cj80v删除记录:删除记录:用用 DELETE-SQL 命令。命令。v命令格式:命令格式:DELETE FROM WHERE 条件表达式条件表达式v例:例:DELETE FROM xscj WHERE cj602.3 表记录的处理表记录的处理v4.记录的修改和删除记录的修改和删除v(3)在命令窗口中用在命令窗口中用VFP命令命令:命令格式命令格式功能功能备注备注插入 INSERT BLANKBEFORE在当前表的指定位置上插入一个空记录或若干新记录BLA
39、NK:在当前记录后插入一个空记录 BEFORE:在当前记录之前插入若干新记录修改CHANGE FIELDS 字段名1,FOR 条件 LEDIT REDIT在编辑窗口显示要修改的字段LEDIT:调出编辑窗口 REDIT:调出浏览窗口替换REPLACE 字段名1 WITH 表达式1 ADDITIVE,字段名2 WITH 表达式2ADDITIVE 范围 FOR 条件 把字段值用指定的表达式进行替换。如:工资单中给某些人长工资默认范围是当前记录 ADDITIVE:把备注字段的替换内容添加在原备注内容的后面删除 DELETE 范围 FOR 条件 对当前表中指定范围内满足条件的记录加上删除标记*默认范围是
40、当前记录PACK MEMODBF将所有带删除标记的记录从表中抹去(不能再恢复)DBF:不影响备注文件 MEMO:从备注文件中删除未使用空间ZAP删除当前表中所有记录,只留下表的结构相当于DELETE ALL+PACK恢复 RECALL 范围 FOR 条件 取消当前表中指定记录上的删除标记默认范围是当前记录2.3 表记录的处理表记录的处理v5.筛选记录和字段筛选记录和字段v(1)用菜单方式用菜单方式v从表表菜单中选择属性属性 在工作区属性对话框中单击数据过滤器框后的按钮 在表达式生成器对话框中构造所需的条件表达式并确定 单击字段筛选字段筛选按钮 在字段筛选器中选择所需字段并确定 单击选项按钮:字
41、段筛选指定的字段 确定。2.3 表记录的处理表记录的处理v5.筛选记录和字段筛选记录和字段v(2)用命令方式)用命令方式v命令格式命令格式:SET FILTER TO 条件表达式v例:SET FILTER TO xb=男v注意:注意:SQL命令对记录的访问不受此筛选命令的限制。2.4 表的使用表的使用v1.工作区工作区v工作区:工作区:v指用来标识一张打开的表的区域。一个工作区在某一时刻只能打开一张表,但可以同时在多个工作区打开多张表,一张可以在多个工作区中多次被打开。每个工作区都有一个编号。v表的别名:表的别名:v在工作区中打开表时为该表所定义的名称。可以自定义别名,否则系统默认就以表名作为
42、别名。若一张表在多个工作区中被打开,系统默认在表名后依次加_a、_b。v自定义别名的格式:自定义别名的格式:USE ALIAS 2.4 表的使用表的使用v当前工作区:当前工作区:v正在使用的工作区。可以通过“数据工作期窗口”或用 SELECT命令把任何一个工作区设置为当前工作区。vSELECT 命令格式:命令格式:SELECT|v要操作非当前工作区中的表,可以把其它工作区选为当前工作区,或在命令中强行指定工作区。v命令格式命令格式:IN|vALIAS(工作区号)函数函数:v测试指定工作区中的表的别名,无参数时指当前工作区表的别名。vSELECT(别名)函数函数:v测试指定别名的表所在的工作区号
43、,无参数时指当前工作区的区号。2.4 表的使用表的使用v2.表的打开和关闭表的打开和关闭打开表的途径打开表的途径关闭表的途径关闭表的途径文件文件菜单中的打开打开工具栏上的打开打开数据工作期数据工作期窗口中关闭关闭USE数据工作期数据工作期窗口中打开打开USE USE IN|CLOSE ALLUSE IN USE 表名AGAINCLOSE DATABASECLOSE TABLEUSE ALIAS 退出退出VFP系统,则关闭所有的表2.4 表的使用表的使用v3.表的独占与共享使用表的独占与共享使用v独占使用:独占使用:一张表只能被一个用户打开。VFP6.0在默认状态以独占方式打开。v共享使用:共享
44、使用:一张表可以被多个用户同时打开。v系统的默认打开方式可以通过工具工具菜单中的选项选项来设置,或 用命令:vSET EXCLUSIVE OFF&默认打开方式为共享共享vSET EXCLUSIVE ON&默认打开方式为独占独占v或强行打开:USE cj SHARED&以共享共享方式打开cj表vUSE cj EXCLUSIVE&以独占独占方式打开cj表2.4 表的使用表的使用v4.利用缓冲访问表中的数据利用缓冲访问表中的数据v数据缓冲:数据缓冲:v先将对表记录的修改存放在缓冲区中,用户决定是否用缓冲先将对表记录的修改存放在缓冲区中,用户决定是否用缓冲区中的数据更新表文件。它是区中的数据更新表文件
45、。它是VFP6.0在多用户环境下用来在多用户环境下用来保护对表记录所做的数据更新和数据维护操作的一种技术。保护对表记录所做的数据更新和数据维护操作的一种技术。v数据缓冲的类型:数据缓冲的类型:v记录缓冲:记录缓冲:v当记录指针移动或关闭表时,缓冲区自动更新表中的相应记当记录指针移动或关闭表时,缓冲区自动更新表中的相应记录。录。v表缓冲:当发出更新表的命令或关闭表时更新表。表缓冲:当发出更新表的命令或关闭表时更新表。v缓冲锁定方式:有两种:开放式缓冲锁定方式:有两种:开放式 和和 保守式。保守式。2.5 表的索引表的索引v1.基本概念基本概念v记录的顺序记录的顺序:v物理顺序:即表中记录的存储顺
46、序。用记录号表示。物理顺序:即表中记录的存储顺序。用记录号表示。v逻辑顺序:表打开后被使用时记录的处理顺序。逻辑顺序:表打开后被使用时记录的处理顺序。v索索 引:引:v指按表文件中某个关键字段或表达式建立记录的逻辑顺序。它是由一系指按表文件中某个关键字段或表达式建立记录的逻辑顺序。它是由一系列记录号组成的一个列表,提供对数据的快速访问。索引不改变表中记列记录号组成的一个列表,提供对数据的快速访问。索引不改变表中记录的物理顺序。表文件中的记录被修改或删除时,索引文件可自动更新。录的物理顺序。表文件中的记录被修改或删除时,索引文件可自动更新。v索引关键字(索引表达式):用来建立索引的一个字段或字段
47、表达式。索引关键字(索引表达式):用来建立索引的一个字段或字段表达式。v注意:注意:1)用多个字段建立索引表达式时,表达式的计算结果将影响索)用多个字段建立索引表达式时,表达式的计算结果将影响索引的结果;引的结果;v2)不同类型字段构成一个表达式时,必须转换数据类型。)不同类型字段构成一个表达式时,必须转换数据类型。2.5 表的索引表的索引v1.基本概念基本概念v索引标识(索引名):索引标识(索引名):v即索引关键字的名称。必须以下划线、字母或汉字开头,且不可超过即索引关键字的名称。必须以下划线、字母或汉字开头,且不可超过10个字。个字。v索引类型:主索引、候选索引、普通索引、唯一索引。索引类
48、型:主索引、候选索引、普通索引、唯一索引。v主索引主索引:v组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。主索引只适用于组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。主索引只适用于数据库表的结构复合索引中。自由表中不可以建立主索引;数据库中的每个表可以且只能数据库表的结构复合索引中。自由表中不可以建立主索引;数据库中的每个表可以且只能建立一个主索引。建立一个主索引。v候选索引候选索引:v在指定的关键字段或表达式中不允许有重复值的索引。在数据库表和自由表中均可为每个在指定的关键字段或表达式中不允许有重复值的索引。在数据库表和自由表中均可为每个表建立多个候选索引
49、。表建立多个候选索引。v普通索引普通索引:v也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通索引。索引。v唯一索引唯一索引:v参加索引的关键字段或表达式在表中可以有重复值,但在索引对照表中,具有重复值的记参加索引的关键字段或表达式在表中可以有重复值,但在索引对照表中,具有重复值的记录仅存储其中的第一个。录仅存储其中的第一个。2.5 表的索引表的索引v2.索引的作用索引的作用用途用途采用的索引类型采用的索引类型排序记录,以便显示、查询或打印使用普通索引、候选索引或主索引在字段中控制重复值的
50、输入并对记录排序对数据库表使用主索引或候选索引,对自由表使用候选索引准备设置表关系依据表在关系中所起的作用,使用普通索引、主索引或候选索引2.5 表的索引表的索引v3索引文件的种类索引文件的种类 索引文件种类索引文件种类特征特征关键字数目关键字数目限制限制结构复合索引文件.CDX使用和表文件名相同的基本名,随表的打开自动打开。可以看成表结构的一部分。多关键字表达式,称为标识。有效表达式限制在 240 个字符之内。非结构复合索引文件.CDX必须明确地打开,使用和表名不同的基本名。其中不能创建主索引多关键字表达式,称为标识。有效表达式限制在 符之240 个字内。独立索引文件.IDX必须明确地打开,
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。