VFP程序设计教程.ppt
,Visual FoxPro程序设计教程计算机网络与数据库,课程要求,理论课时:36学时实验课时:36学时课堂纪律:不迟到、不早退、认真听讲实验纪律:不做与实验内容无关的操作,撰写实验报告(共18次)成绩评定:平时成绩40%(作业+提问+考勤+实验报告)期末考试60%,目录,第一章数据库系统基础知识 及Visual FoxPro操作基础第二章Visual FoxPro数据与运算 第三章数据库的基本操作第四章SQL关系数据库查询语言第五章视图与查询,第六章程序设计基础第七章表单设计与应用 第八章报表与标签设计第九章菜单设计 第十章数据库应用系统开发,第一章,数据库系统基础知识,返回目录,本章要点,信息、数据和数据处理数据模型数据库系统关系数据库及其设计,返回目录,1.1 信息、数据和数据处理,1.1.1 信息与数据 信息(Information)是客观事物属性的反映。它所反映的是关于某一客观系统中某一事物的某一方面属性或某一时刻的表现形式。通俗地讲,信息是经过加工处理并对人类客观行为产生影响的事物属性的表现形式。数据(Data)是反映客观事物属性的记录,是信息的载体。对客观事物属性的记录是用一定的符号来表达的,因此说数据是信息的具体表现形式。,上一页,下一页,要 点,数据与信息在概念上是有区别的。从信息处理角度看,任何事物的属性都是通过数据来表示的,数据经过加工处理后,使其具有知识性并对人类活动产生决策作用,从而形成信息。从计算机的角度看,数据泛指那些可以被计算机接受并能够被计算机识别处理的符号。总之,信息是有用的数据,数据是信息的表现形式,信息是通过数据符号来传播的。,上一页,下一页,要 点,1.1.2 数据处理 数据处理也称为信息处理。所谓数据处理,实际上就是利用计算机对各种类型的数据进行处理。它包括对数据的采集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列操作过程。数据处理的目的是从大量的、原始的数据中获得人们所需要的资料并提取有用的数据成份,作为行为和决策的依据。,上一页,下一页,要 点,数据处理的三个阶段,人工管理阶段文件管理阶段数据库管理阶段,1.2 数据模型,从理论上讲,数据模型是指反映客观事物及客观事物间联系的数据组织的结构和形式。,上一页,下一页,要 点,1.2.1 层次模型 层次模型(Hierarchical Model)表示数据间的从属关系结构,是一种以记录某一事物的类型为根结点的有向树结构。其主要特征如下:仅有一个无双亲的根结点。根结点以外的子结点,向上仅有一个父结点,向下有若干子结点。,上一页,下一页,要 点,1.2.2 网状模型 网状模型(Network Model)是层次模型的扩展,它表示多个从属关系的层次结构,呈现一种交叉关系的网络结构。网状模型是以记录为结点的网络结构。其主要特征如下:有一个以上的结点无双亲。至少有一个结点有多个双亲。,上一页,下一页,要 点,1.2.3 关系模型 关系模型(Relational Model)的所谓“关系”是有特定含义的。广义地说,任何数据模型都描述一定事物数据之间的关系。关系模型的所谓“关系”虽然也适用于这种广义的理解,但同时又特指那种虽具有相关性而非从属性的平行的数据之间按照某种序列排列的集合关系。,上一页,下一页,要 点,关系模型的主要特点有:(1)关系中每一分量不可再分,是最基本的数据单位;(2)每一竖列的分量是同属性的,列数根据需要而设,且各列的顺序是任意的;(3)每一横行由一个个体事物的诸多属性构成,且各行的顺序可以是任意的;(4)一个关系是一张二维表,不允许有相同的属性名,也不允许有相同的元组。,上一页,下一页,要 点,1.3 数据库系统,1.3.1 数据库 数据库(Data Base)是数据库系统的核心和管理对象。所谓数据库,就是以一定的组织方式将相关的数据组织在一起,存放在计算机外存储器上形成的,能为多个用户共享的,与应用程序彼此独立的一组相关数据的集合。,上一页,下一页,要 点,1.3.2 数据库管理系统利用数据库进行信息处理的工作过程,或把掌握、管理和操纵数据库的数据资源的方法为数据库管理系统。,上一页,下一页,要 点,1.3.3 数据库应用系统的构成 数据库应用系统它是由有关的硬件、软件、数据和人员四个部分组合而形成的。,上一页,下一页,要 点,1.4 关系数据库及其设计,1.4.1 关系数据库 关系数据库(Relational Data Base)是若干个关系的集合。也可以说,关系数据库是由若干张二维表组成的。在关系数据库中,将一个关系视为是一张二维表,又称其为数据表。一个关系数据库由若干个数据表组成,数据表又由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项组成的。,上一页,下一页,要 点,表1-3 模型理论与关系数据库中术语的对照关系,上一页,下一页,要 点,在数据表中,若某一字段或几个字段的组合值能够标识一个记录,则称其为关键字(或键),当一个数据表有多个关键字时,可从中选出一个作为主关键字(或主键)。,上一页,下一页,要 点,1.4.2 关系的规范化 关系模型是以关系集合理论中基本的数学原理为基础的,通过确立关系中的规范化准则,既可以方便数据库中数据的处理,又可以给程序设计带来方便。这一规范化准则称为关系规范化。关系规范化理论是研究如何将一个不十分合理的关系模型转化为一个最佳的数据关系模型的理论,它是围绕范式而建立的。,上一页,下一页,要 点,表1-4 信息中心专门人才基本情况一览表,上一页,下一页,要 点,可以将表1-4分成三个独立的数据表:专门人才基本情况一览表(如表1-4所示),它收入了信息中心管理的专门人才的自然情况。专门人才专业特长一览表(如表1-5所示),它收入了信息中心专门人才的专业特长情况。专门人才成就成果情况一览表(如表1-6所示),它收入了信息中心专门人才的成就及成果情况。,上一页,下一页,要 点,表5 信息中心专门人才基本情况一览表,上一页,下一页,要 点,表1-6 信息中心专门人才专业特长一览表,上一页,下一页,要 点,表1-7 信息中心专门人才成就成果一览表,上一页,下一页,要 点,可以看出,若将一些数据集中在一个表中,则表的结构十分复杂,又不能满足关系模型条件;若将其做成一张二维表形式,就会有许多重复数据出现,造成数据的冗余,这必然导致数据存储空间的浪费,同样也将使数据的输入、查找和修改更加麻烦。相反,依赖关系数据规范化的准则建立多个相互关联的数据表,并让这些分开的数据表依靠关键字段保持一定的关联关系,就可以有效地改进上述缺点。,上一页,下一页,要 点,专门人才基本情况数据库,上一页,下一页,要 点,1.4.3 表间关联关系的类型 在一个关系数据库中,若想将依赖于关系模型建立的多个数据表组织在一起,反映客观事物数据间的多种对应关系,通常将这些数据表放入同一个数据库中,并建立表间关联。在同一个数据库中,相关联的表间关系的类型有一对一、一对多和多对一3种关系。,上一页,下一页,要 点,1一对一关系 一对一关系即在两个数据表中选一个相同属性字段作为关键字段,把其中一个数据表中的关键字段称为主关键字段,该字段值是唯一的,而另一个数据表中的关键字段称为外来关键字段,该字段值也是唯一的。,上一页,下一页,要 点,一对一(编号),上一页,下一页,要 点,2一对多关系 一对多关系,即在两个数据表中选一个相同属性字段作为关键字段,把其中一个数据表的关键字段称为主关键字段,该字段值是唯一的,而把另一个数据表中的关键字段称为外来关键字段,该字段值是重复的。,上一页,下一页,要 点,一对多(编号),上一页,下一页,要 点,3多对一关系 多对一关系与一对多关系是类似的,唯一的区别是在两个相关联的数据表中,选择哪一个数据表中的关键字段为主关键字段,该字段值是重复的,与它关联的另一个数据表中的关键字段为外来关键字段,该字段值是唯一的。,上一页,下一页,要 点,多对一(编号),上一页,下一页,要 点,1.4.4 关系的完整性 关系的完整性,即关系中的数据及具有关联关系的数据间必须遵循的制约和依存关系,以保证数据的正确性、有效性和相容性。关系的完整性主要包括域完整性、实体完整性和参照完整性三种。,上一页,下一页,要 点,1域完整性 域完整性是对数据表中字段属性的约束,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构时所定义的字段的属性决定的。,上一页,下一页,要 点,2实体完整性 实体完整性是对关系中的记录唯一性,也就是主键的约束。准确地说,实体完整性是指关系中的主属性值不能为Null且不能有相同值。,上一页,下一页,要 点,3参照完整性 参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外键的约束。准确地说,参照完整性是指关系中的外键必须是另一个关系的主键有效值,或者是NULL。,上一页,下一页,要 点,1.4.5 关系运算 关系运算是以关系为运算对象的运算,在关系运算中,变量是关系,运算结果仍然是关系。常见的关系运算有选择运算、投影运算和连接运算三种。,上一页,下一页,要 点,1选择(Select)选择运算是从关系中选择某些满足条件的记录组成一个新的关系。也可以说,选择运算是在关系R中选择满足给定条件的元组。,上一页,下一页,要 点,2投影(Projec)投影运算是从关系中选择某些字段的所有值组成一个新的关系。也可以说,投影运算是在关系R中选择出若干属性列。,上一页,下一页,要 点,3连接(Join)连接运算是将两个或多个关系通过连接条件组成一个新的关系。也可以说,连接运算是在关系R和关系S中选择属性间满足一定条件的元组。,上一页,下一页,要 点,数据库系统的体系结构,单用户数据库系统主从式多用户数据库系统C/S数据库系统B/S数据库系统,常见的数据库管理系统,小型(1)ACESS(2)Visual FoxPro大型(1)SQL Server(2)Oracle,Visual FoxPro系统概述,返回目录,要点,Visual FoxPro的特性 Visual FoxPro的安装与启动 Visual FoxPro系统环境的配置 Visual FoxPro用户界面 Visual FoxPro向导 Visual FoxPro生成器 Visual FoxPro设计器,返回目录,Visual FoxPro的特性,1用户界面良好 2面向对象编程技术功能强 3快速创建应用程序 4数据库的操作简便 5多个用户可以一起开发程序 6可与其他应用程序交互操作 7独特的开发客户/服务器解决方案 8可以升级早期版本,上一页,下一页,要 点,Visual FoxPro的安装与启动,一 安装环境 在安装Visual FoxPro 之前,要了解Visual FoxPro 的硬件和软件必备环境,做好安装前的准备工作。1硬件环境 2软件环境 3“升迁向导”环境,上一页,下一页,要 点,二 Visual FoxPro 的安装 中文Visual FoxPro 可以从CD-ROM或网络上安装。以下介绍三种从CD-ROM上安装Visual FoxPro 的方法。1直接启动CD-ROM 2直接运行安装程序 3使用Windows 98安装,上一页,下一页,要 点,三 启动Visual FoxPro 启动Visual FoxPro有多种方法,可采用以下三种方式之一。1从“开始”菜单启动 2从资源管理器中启动 3从“运行”对话框中启动,上一页,下一页,要 点,四 退出Visual FoxPro(1)在Microsoft Visual FoxPro主菜单中,打开“文件”菜单,选择“退出”选项;(2)按Alt+F4组合键;(3)按Ctrl+Alt+Del组合键,进入“关闭程序”窗口,按“结束任务”按钮;(4)在Microsoft Visual FoxPro的系统环境窗口,单击其右上角的“退出”按钮;(5)在“命令”窗口,输入命令Quit。,上一页,下一页,要 点,Visual FoxPro系统环境的配置,Visual FoxPro系统环境的配置,决定了Visual FoxPro系统的操作环境和工作方式。Visual FoxPro系统允许用户设置大量参数控制其工作方式。通过设置系统环境,可以添加或删除Visual FoxPro控件、更新Windows Registry注册项、改变选项栏和工具栏、安装ODBC数据源等。,上一页,下一页,要 点,打开“选项”窗口的操作步骤,工具,选项,常规,数据,显示,文件位置,表单,项目,控件,确定,上一页,下一页,要 点,在“选项”窗口,有12种不同类别的环境选项卡,每一个选项卡有其特定的环境,又有相应的设置信息的对话窗口,用户可以根据操作的需要通过“选项”窗口中的各种选项卡,确定或修改设置每一个参数,从而确定Visual FoxPro的系统环境。,上一页,下一页,要 点,Visual FoxPro用户界面,一 Visual FoxPro的界面 Visual FoxPro界面,是由标题栏、菜单栏、工具栏、工作区、状态栏和命令窗口组成的。二 标题栏 标题栏位于屏幕界面的第一行,它包含系统程序图标、主屏幕标题、最小化按钮、最大化按钮和关闭按钮5个对象。,上一页,下一页,要 点,菜单栏,工具栏,命令窗口,状态栏,工作区,标题栏,上一页,下一页,要 点,三 菜单栏 菜单栏位于屏幕的第二行,它包含文件、编辑、显示、格式、工具、程序、窗口和帮助8个菜单选项。当单击其中一个菜单选项时,就可以打开一个对应的“下拉式”菜单,在该“下拉式”菜单下,通常还有若干个子菜单选项,当选择其中一个子菜单选项时,就可以执行一个操作。,上一页,下一页,要 点,四 工具栏 Visual FoxPro系统提供了11种常用的工具栏:(1)常用工具栏(2)布局工具栏(3)表单控件工具栏(4)表单设计器工具栏(5)查询设计器工具栏(6)视图设计器工具栏(7)数据库设计器工具栏(8)报表控件工具栏(9)报表设计器工具栏(10)调色板工具栏(11)打印预览工具栏,上一页,下一页,要 点,激活工具栏的操作步骤,显示,工具栏,“常用”,确定,上一页,下一页,要 点,五 命令窗口 命令窗口位于菜单栏和状态栏之间,是Visual FoxPro系统命令执行、编辑的窗口。在命令窗口中,可以输入命令实现对数据库的操作管理;也可以用各种编辑工具对操作命令进行修改、插入、删除、剪切、拷贝、粘贴等操作;还可以在此窗口建立命令文件并运行命令文件。在“窗口”菜单下,选择“隐藏”,可以关闭命令窗口;选择“命令窗口”,可以弹出命令窗口。,上一页,下一页,要 点,六 工作区与状态行 状态行位于屏幕的最底部,用于显示某一时刻的管理数据的工作状态。(1)Set Status off/on,可控制屏幕上的状态行是否出现。(2)如果当前工作区中没有表文件打开,状态行的内容是空白;如果当前工作区中有表文件打开,状态行显示表名、表所在的数据库名、表中当前记录的记录号、表中的记录总数、表中的当前记录的共享状态等内容。,上一页,下一页,要 点,Visual FoxPro向导,Visual FoxPro系统为用户提供许多功能强大的向导。用户通过系统提供的各种不同的向导设计器,不用编程就可以创建良好的应用程序界面,并完成许多有关对数据库的操作。常用的向导设计器有:表向导、报表向导、表单向导、查询向导 等。,上一页,下一页,要 点,Visual FoxPro生成器,Visual FoxPro系统提供的生成器,可以简化创建和修改用户界面程序的设计过程,提高软件开发的质量。每个生成器都由一系列选项卡组成,允许用户访问并设置所选对象的属性。用户可以将生成器生成的用户界面直接转换成程序代码,把用户从逐条编写程序、反复调试程序的工作中解放出来。常用的生成器有:组合框生成器、命令组生成器、表达式生成器、列表框生成器等。,上一页,下一页,要 点,Visual FoxPro设计器,Visual FoxPro系统提供的设计器,为用户提供了一个友好的图形界面。用户可以通过它创建并定制数据表结构、数据库结构、报表格式和应用程序组件等。常用的设计器有:表设计器、查询设计、视图设计器、列表框生成器、报表设计器、数据库设计器、菜单设计器等。,上一页,下一页,要 点,第二章,Visual FoxPro中的数据与运算,返回目录,本章要点,数据类型 数据存储 函数 表达式,返回目录,2.1 数据类型,2.1.1 字符型 字符型(Character)数据是描述不具有计算能力的文字数据类型,是常用的数据类型之一。字符型数据由汉字和ASCII字符集中可打印字符(英文字符、数字字符、空格及其他专用字符)组成,最大长度是254个字符。,上一页,下一页,要 点,2.1.2 数值型 数值型数据在Visual FoxPro系统中被细分为以下4种类型。1数值型(Numeric)数据是由数字(09)、小数点和正负号组成。最大长度为20个字符(包括、号和小数点)。2浮点型(Float)数据是数值型数据的一种,与数值型数据完全等价,只是在存储形式上采取浮点格式且数据的精度要比数值型数据高。,上一页,下一页,要 点,3货币型(Money)数据是数值型数据的一种特殊形式,在数据的第一个数字前冠一个货币符号($)。货币型数据小数位的最大长度是4个字符,小数位超过4个字符的数据,系统将会按四舍五入原则自动截取。4双精度型(Double)数据是更高精度的数值型数据。它只用于数据表中的字段类型的定义,并采用固定长度浮点格式存储。5整型(Integer)数据是不包含小数点部分的数值型数据。,上一页,下一页,要 点,2.1.3 日期型 日期型(Date)数据是用于表示日期的数据,长度固定为8个字符。日期型数据包括年、月、日三个部分,每部分间用规定的分隔符分开。表现形式由以下几个SET命令决定:Set Date To Set Century On/Off Set Date Set Strictdate To,上一页,下一页,要 点,2.1.4 日期时间型 日期时间型(Date Time)数据是描述日期和时间的数据,长度固定为8个字符。日期时间型数据除包括日期数据的年、月、日外,还包括时、分、秒以及上午、下午等内容。2.1.5 逻辑型 逻辑型(Logic)数据是描述客观事物真假的数据,用于表示逻辑判断结果。逻辑型数据只有真和假两种值,长度固定为1个字符。,上一页,下一页,要 点,2.1.6 备注型 备注型(Memo)数据用于存放较长的字符型数据类型。可以把它看成是字符型数据的特殊形式。备注型数据没有数据长度限制,仅受限于现有的磁盘空间。它只用于数据表中的字段类型的定义,其字段长度固定为4个字符,而实际数据被存放在与数据表文件同名的备注文件中,长度根据数据的内容而定。,上一页,下一页,要 点,2.1.7 通用型 通用型(General)数据是用于存储OLE对象的数据。通用型数据中的OLE对象可以是电子表格、文档、图片等。通用型数据长度固定为4个字符,实际数据长度仅受限于现有的磁盘空间。,上一页,下一页,要 点,2.2 常量与变量,2.2.1 常量 常量是一个命名的数据项,是在命令或程序中直接引用的实际值,其特征是在所有的操作中其值不变。常量类型有以下6种:1数值型常量 2浮点型常量 3字符型常量 4逻辑型常量 5日期常量 6日期时间型常量,上一页,下一页,要 点,2.2.2 变量1 命名约定2 字段变量 字段变量就是指数据表中已定义的任意一个字段。在一个数据表中,同一个字段名下有若干个数据项,而数据项的值取决于该数据项所在记录行的变化,所以称它为字段变量,也有人把字段变量称为字段名变量。字段变量的数据类型有数值型、浮点型、货币型、整型、双精度型、字符型、逻辑型、日期型、日期时间型、备注型和通用型等。,上一页,下一页,要 点,3 内存变量 内存变量是一般意义下的简单变量。每一个内存变量都必须有一个固定的名称,以标识该内存单元的存储位置。用户可以通过变量标识符使用内存单元存取数据。内存变量的类型有数值型、浮点型、字符型、逻辑型、日期型和日期时间型6种,它的定义是通过赋值语句来进行的。,上一页,下一页,要 点,内存变量名的长度可以达到254个字符,是由字母、数字和下划线组成的。如果内存变量与数据表中的字段变量同名时,用户在引用内存变量时,要在其名字前加一个m.或(m-)。内存变量的作用域是按变量在程序中的作用范围来区分的。(1)全局型内存变量用Public命令定义(2)局部型变量用Private命令定义定义(3)本地型变量用Local 命令定义定义(4)释放内存变量可用Release、Clear All/Clear Memorey命令。,上一页,下一页,要 点,有关内存变量的操作(1)内存变量的赋值命令 Store To 内存变量=(2)表达式的输出命令?/?(3)变量的显示 DISPLAY|LIST MEMORY LIKE TO PRINTER|TO FILENOCONSOLE,(4)变量的保存 SAVE TO ALL LIKE|ALL EXCEPT(5)变量的恢复 RESTORE FROM ADDITIVE(6)变量的清除 CLEAR MEMORY RELEASE RELEASE ALL LIKE|EXCEPT CLEAR ALL CLOSE ALL,4 数组变量 数组是一组有序内存变量的集合。所有的数组元素是用一个变量名命名的一个集合体,而且每一个数组元素在内存中独占一个内存单元,视同一个简单内存变量。为了区分不同的数组元素,每一个数组元素都是通过数组名和下标来访问的 在Visual FoxPro系统环境下,同一个数组元素在不同时刻可以存放不同类型的数据,在同一个数组中,每个元素的值可以是不同的数据类型。,上一页,下一页,要 点,5 系统变量 系统变量是VF系统特有的内存变量,其变量名均以下划线开始,一般其数据类型不可变。,上一页,下一页,要 点,2.3 函数,根据每一个函数的功能,可将标准函数大致分为如下11类:1数值计算函数 2字符处理函数 3数据转换函数 4日期和时间函数 5变量处理函数 6数据库函数 7测试函数 8数据共享函数 9输入和输出函数 10编程函数 11动态数据操作函数。,上一页,下一页,要 点,2.2.1 数值函数1.取绝对值函数 ABS()EG:?ABS(-50)2.指数函数 EXP()EG:?EXP(1)3.取整函数 INT()EG:?INT(9.9)4.上界函数 CEILING()EG:?CEILING(9.3)5.下界函数 FLOOR()EG:?FLOOR(9.9)6.自然对数 LOG()EG:?LOG(2.718)7.常用对数 LOG10()EG:?LOG10(10)8.平方根函数 SQRT()EG:?SQRT(9)9.最大值MAX()和最小值函数MIN()EG:MAX(3,4),10.求余函数 MOD()11.四舍五入函数 ROUND()12.随机函数 RAND()13.三角函数(上机测试),2.3.2 字符函数1.AT()2.RAR()3.LEFT4.RIGHT5.SUBSTR()6.LEN()7.TRIM()|LTRIM()8.RTRIM()9.ALLTRIM()10.SPACE()11.STUFF(),12.REPLICATE()13.LOWER()14.ISLOWER()15.UPPER()16.ISUPPER()17.ISALPHA()18.ISDIGIT()19.&,2.3.3 日期时间函数1.DATE()2.TIME()3.DAY()4.DOW()和CDOW()5.MONTH()和CMONTH()6.YEAR(),2.3.4 转换函数1.ASC()和CHR()2.CTOD()和DTOC()3.STR()和VAL(),2.3.5 测试函数1.TYPE()2.FILE()3.IIF()4.EOF()5.BOF()6.RECNO()7.DELETED()8.RECCOUNT()9.RECSIZE()10.COL()和ROW(),2.4 表达式,表达式是由数据、数据存储容器、函数和运算符组成的运算式。2.4.1 算术表达式 算术表达式可由算术运算符和数值型常量、数值型内存变量、数值型数组、数值类型的字段、返回数值型数据的函数组成。算术表达式的运算结果是数值型常数。,上一页,下一页,要 点,2.4.2 字符表达式 字符表达式由字符运算符和字符型常量、字符型内存变量、字符型数组、字符型类型的字段和返回字符型数据的函数组成。字符表达式运算的结果是字符常数或逻辑型常数。,上一页,下一页,要 点,2.4.3 日期时间表达式 日期时间表达式由日期运算符和日期时间型常量、日期时间型内存变量和数组、返回日期时间型数据的函数组成。日期时间表达式运算的结果是日期时间型常数。,上一页,下一页,要 点,2.4.4 关系表达式 关系表达式可由关系运算符和字符表达式、算术表达式、时间日期表达式组成。其运算结果为逻辑型常量。关系运算是运算符两边同类型元素的比较,关系成立结果为.T.;反之结果为.F.。,上一页,下一页,要 点,2.4.5 逻辑表达式 逻辑表达式可由逻辑运算符和逻辑型常量、逻辑型内存变量、逻辑型数组、返回逻辑型数据的函数和关系表达式组成。其运算结果仍是逻辑型常量。,上一页,下一页,要 点,2.4.6 名表达式 在Visual FoxPro系统中,允许用户给命令和函数定义一个名字。将这一名字存入到内存变量和数组元素中,就可以在引用命令和函数时用内存变量和数组元素来代替,给程序开发带来很多便利。存于内存变量和数组元素中的命令和函数名,用户可以通过间接引用或宏替换两种操作方法完成。,上一页,下一页,要 点,2.4.7 类与对象操作符 在应用程序文件中,常利用下面两个标识符描述对象与类的关系,属性、事件和方法与其对象的从属关系,以及子类中调用父类的方法。,上一页,下一页,要 点,第三章,数据库的基本操作,返回目录,本章要点,创建数据库 数据库中的表的使用 建立表间的关联关系建立表 向表中加入记录 数据的显示和修改方式 控制字段和记录的访问 数据表中记录的定位 删除和恢复表中的数据快速修改表中的数据 什么是索引 索引类型 创建索引索引的使用,返回目录,3.1 创建数据库与表,使用表可以存储和显示一组相关的数据,如果想把多个表联系起来,就一定要建立数据库。只有把这些有关系的表存放在同一个数据库中,确定它们的关联关系,数据库中的数据才能被更充分的利用。3.1.1 建立数据库 Create DataBase,上一页,下一页,要 点,创建数据库的操作步骤,文件,新建,数据库,新建文件,数据库设计器,保存,数据库名,确定,上一页,下一页,要 点,3.1.2 删除数据库 Delete DataBase 3.1.3 打开数据库 Open DataBase Modify DataBase 3.1.4 数据库的关闭 Close DataBase,上一页,下一页,要 点,数据库添加数据表的操作步骤,文件,打开,数据库,数据库设计器,添加表,打开,数据库设计器,添加表,打开,保存,上一页,下一页,要 点,向数据库添加数据表 通常数据表只能属于一个数据库文件,如果想向当前数据库中添加的表已被添加到了别的数据库中,则必须先将其从其他数据库中移去后才能添加到当前数据库中。,3.1.5 建立表结构 在Visual FoxPro系统中,一张二维表对应一个数据表,称为表文件(Table)。定义数据表的结构,就是定义数据表的字段个数、字段名、字段类型、字段宽度及是否以该字段建立索引等。一张二维表由表名、表头、表的内容三部分组成,一个数据表则由数据表名、数据表的结构、数据表的记录三要素构成。,上一页,下一页,要 点,信息中心专门人才基本情况表文件的结构,上一页,下一页,要 点,1 命令方式(利用表设计器创建表)Create Create Table(类型(长度),类型(长度),上一页,下一页,要 点,利用表设计器创建表的操作步骤,文件,新建,新建文件,表的名字,表设计器,字段名字,字段类型,字段宽度,字段索引,保存,上一页,下一页,要 点,2 数据库中的表的使用 在数据库操作环境下不仅可以完成表操作环境的所有操作,而且还有许多新的操作。(1)设置表中字段的显示标题 在进行浏览时,如果用户不设置字段标题,则该表的标题显示的是字段名。为了在浏览表中数据时能更清晰、方便,可以自定义字段标题。,上一页,下一页,要 点,(2)设置表中字段的注释 为了提高数据表的使用效率及其共享性,对字段加以注释,可清楚地掌握字段的属性、意义及特殊用途等。(3)设置表中字段的默认值 定义某一字段数据的默认值,可以提高表中数据输入的速度和准确性。(4)设置表中字段的有效规则 定义字段的有效规则,同样可以提高表中数据输入的速度和准确性。,上一页,下一页,要 点,3.1.6 输入表记录 1 创建表时立即输入数据 在创建表时,如果表中所有字段的属性已定义完成,可按“确定”按钮保存表结构,同时打开“系统”窗口,显示“现在输入数据吗?”对话。选择“是”按钮,可以立即进入表“浏览”或表“编辑”窗口,在该窗口便可完成表中数据的输入。,上一页,下一页,要 点,2 以命令方式输入数据 在创建表结构时,如果没有选择立即方式向表输入数据,可以用命令方式向表输入数据。Append Blank INSERT BlankBefore,上一页,下一页,要 点,以追加方式输入数据的操作步骤,显示,浏览,追加,浏览,显示,浏览,追加,编辑,上一页,下一页,要 点,3 备注型数据的输入 在“编辑”窗口或“浏览”窗口,把光标移到备注型字段下双击,即可进入备注字段的编辑窗口。在这个窗口内,可以输入或修改备注型数据。4 通用型数据的输入 在“编辑”窗口或“浏览”窗口,把光标移到通用型字段下双击,即可进入通用型字段的数据编辑窗口。,上一页,下一页,要 点,3.1.7 表的打开与关闭 打开:Use.dbf In/Again Alias Exclusive/Shared 关闭:USE Clear All Close All Quit 3.1.8 表的删除 Delete File Remove Table Delete Recycle,上一页,下一页,要 点,3.2 表字段的基本操作,上一页,下一页,要 点,3.2.1 表结构有显示 List|Display Structure To Print Prompt|To File 3.2.1 表结构的修改 Modify Structure,修改表结构的操作步骤,上一页,下一页,要 点,文件,打开,表的名字,表设计器,增加,删除,修改,保存,3.3 表记录的基本操作,3.3.1 表记录的显示 List/Display Off Noconsole Fields For While To Printer To File 备注:范围包括All、Next、Record、Rest,上一页,下一页,要 点,3.3.2 记录指针的定位 1 绝对定位 GO|GotoRECORD nRecordNumber IN nWorkArea|IN cTableAlias 或者 GO|Goto TOP|BOTTOM IN nWorkArea|IN cTableAlias 2 相对定位 Skip 3 查询定位 Locate For Continue,3.3.3 删除记录1 逻辑删除记录 逻辑删除就是给暂时不使用的记录加一个删除标记。另外,对需要彻底删除的记录,也必须要先做逻辑删除后再做物理删除。Delete For 2 删除环境设置 Set Deleted On|Off3 恢复表中逻辑删除的记录 对加上逻辑删除标记的记录,如果还想恢复其使用权,可对其进行恢复记录的操作。Recall For,上一页,下一页,要 点,4 物理删除表中的记录 物理删除就是把无效的记录彻底从磁盘中删除掉。若要想彻底删除表中部分无效的数据,必须先做逻辑删除后再做物理删除,若要想彻底删除表中全部无效的数据,也可直接做物理删除。Pack Zap,上一页,下一页,要 点,3.3.4 修改记录 1 用编辑方式显示和修改数据 在表“编辑”窗口,可以采用“编辑”方式显示和修改表中的数据。Edit/Chang Fields For 2 用浏览方式显示和修改数据 在表“浏览”窗口,可以采用“浏览”方式显示和修改表中的数据。Browse Fields For 备注:查看Help文件,上一页,下一页,要 点,3 替换修改 Replace With Additive,With Additive For,上一页,下一页,要 点,3.3.5 表的复制1 表结构的复制 Copy structure To Fields 2 表文件的复制(1)Copy To 范围 Fields For(2)Copy 文件名 To 范围 Fields For(3)表记录保存为文件文件 SDFDelimited,上一页,下一页,要 点,3.3.6 表记录的追加 1 从另一个表文件中追加记录 Append From Fields For 2 从数组中追加记录3.3.7 文件管理命令1 dir 显示磁盘文件目录信息2 rename to 3 erase 文件名,上一页,下一页,要 点,3.4 排序与索引,3.4.1 排序 排序命令可以对当前选定的表进行排序,并将排好序的记录输出到新表中。命令格式:SORT TO ON/A/D/C,/A/D/C ASCENDING/DESCENDING FOR WHILE NOOPTIMIZE FIELDS/LIKE/EXCEPT,命令说明:存放排序后记录的新表名,Visual FoxPro为表存取.DBF文件扩展名。ON:指定当前选定的、要排序的表中的字段名,/A/D/C:对于排序中包含的每个字段,可以指定排序顺序(升序或降序)。/A为字段指定了升序。/D指定了降序。默认情况下,字符型字段的排序顺序区分大小写。如果在字符型字段名后包含/C,则忽略大小写。ASCENDING:将所有不带/D的字段指定为升序排列。DESCENDING:将所有不带/A的字段指定为降序排列。默认范围:ALL,即所有记录。FIELDS LIKE:在新表中包含那些与字段相匹配的原表字段,新表用SORT命令创建。FIELDS EXCEPT:在新表中包含那些不与字段相匹配的原表字段。,3.4.2 索引 1 索引及索引文件的概述 索引实际上是一种排序,但是它不改变表中数据的物理顺序,而是另外建立一个记录号列表。表一旦按索引表达式建立索引后,就产生了一个相应的索引文件。一旦表和相关的索引文件被打开,对表进行操作时,则记录的顺序按索引表达式值的逻辑顺序显示和操作。在Visual FoxPro系统中,可以为一个表建立多个索引,每一个索引确定了一种表记录的逻辑顺序。,上一页,下一页,要 点,索引文件的类型(1)单项索引文件扩展名为.IDX,只能容纳一项索引,只能用命令方式操作。(2)复合索引文件扩展名为.CDX,可以容纳多项索引,索引之间用唯一的索引标识区别,每个索引标识名的作用等同于一个索引文件名。Visual FoxPro系统提供了四种不同的索引类型,它们分别是:(1)主索引(2)候选索引(3)普通索引(4)唯一索引,上一页,下一页,要 点,2 索引文件的建立使用命令创建索引:Index On To/Tag Of For Ascending Descending Unique Candidate,上一页,下一页,要 点,上一页,下一页,要 点,(1)创建单项索引文件,命令的基本格式如下:INDEX ON TO(2)创建结构复合索引文件,命令的基本格式如下:INDEX ON TAG(3)创建非结构复合索引文件,命令的基本格式如下:INDEX ON TAG OF,3 打开索引文件 使用索引文件,必须先打开表文件,索引文件不能脱离表文件而单独使用。打开索引文件有两种方式,一种是在打开表文件时的同时打开索引文件;一种是在表文件打