FoxPro for windows 教学辅助课件_第1页
FoxPro for windows 教学辅助课件_第2页
FoxPro for windows 教学辅助课件_第3页
FoxPro for windows 教学辅助课件_第4页
FoxPro for windows 教学辅助课件_第5页
已阅读5页,还剩245页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FoxPro for windows 教学课件教学辅助课件 目 录 第一章 数据库管理系统 第二章 FoxPro 的常量、变量、函数和表达式 第三章 数据库的建立和修改 第四章 数据库的维护及操作 第五章 数据库的排序、索引和查询 第六章 数据库统计 第七章 多重数据库及其操作 第八章 程序设计基础 第九章 用户界面技术 在目前,FoxPro for windows 是用户收集信息、查询数据、创建集成数据库系统、进行实用系统开发较为理想的软件。 本课程是根据教育部提出的非计算机专业计算机基础教学三个层次要求,是以FoxPro for windows 为主要内容介绍关系数据库管理系统基础理论及应

2、用系统开发知识,不仅介绍数据库基础理论,介绍了FoxPro for windows 的基本操作;而且介绍程序设计基础、应用系统开发的方法、步骤。本课程将通过大量的、实用的、丰富多彩的实例讲述程序设计的概念,深入浅出地使学生学会FoxPro for windows基本操作、编程及应用系统开发。第一章数据库处理系统 本 章 要 点信息、数据和数据处理数据模型数据库应用系统 FoxPro数据库管理系统 思考题信息、数据和数据处理 1.信息与数据 信息(information)是客观事物属性的反映。它所反映的是关于某一客观系统中某一事物的某一方面属性或某一时刻的表现形式。 通俗地讲,信息是经过加工处理

3、并对人类客观行为产生影响的数据表现形式。 数据 (data) 是反映客观事物属性的记录符号,是信息的载体。对客观事物属性的记录是用一定的符号来表达的,因此说数据是信息的具体表现形式。 数据所反映的事物属性是它的内容,而符号是它的形式。 要 点 数据与信息在概念上是有区别的。信息是有用的数据,数据是信息的表现形式。信息是通过数据符号来传播的,数据如不具有知识性和有用性则不能称其为信息。 从信息处理角度看,任何事物的属性都是通过数据来表示的;数据经过加工处理后,使其具有知识性并对人类活动产生决策作用,从而形成信息。用数据符号表示信息,其形式通常有三种:数值型数据,即对客观事物进行定量记录的符号,如

4、体重、年龄、价格等;字符型数据,即对客观事物进行定性记录的符号,如姓名、单位 、地址等;特殊型数据,如声音、视频、图像等。从计算机的角度看,数据泛指那些可以被计算机接受并能够被计算机处理的符号。 2.数据处理 所谓数据处理实际上就是利用计算机对各种类型的数据进行处理。它包括对数据的采集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列操作过程。数据处理的目的是从大量的、原始的数据中获得我们所需要的资料并提取有用的数据成份,作为行为和决策的依据。 随着电子计算机软件和硬件技术的发展,数据处理过程发生了划时代的变革,而数据库技术的发展,又使数据处理跨入了一个崭新的阶段。 数据的管理技术

5、的发展大致经历了以下三个阶段: (1)人工管理方式 (2)文件管理方式 (3)数据库系统管理方式 人工管理方式出现在计算机应用于数据管理的初期。 由于没有必要的软件、硬件环境的支持,用户只能直接在裸机上操作。用户的应用程序中不仅要设计数据处理的方法,还要阐明数据在存贮器上的存贮地址。 在这一管理方式下,用户的应用程序与数据相互结合不可分割,当数据有所变动时程序则随之改变,程序的独立性差;另外,各程序之间的数据不能相互传递,缺少共享性,因而这种管理方式既不灵活,也不安全,编程效率很低。 文件管理方式即把有关的数据组织成一种文件,这种数据文件可以脱离程序而独立存在,由一个专门的文件管理系统实施统一

6、管理。 文件管理系统是一个独立的系统软件,它是应用程序与数据文件之间的一个接口。 在这一管理方式下,应用程序通过文件管理系统对数据文件中的数据进行加工处理。应用程序的数据具有一定的独立性,也比手工管理方式前进了一步。但是,数据文件仍高度依赖于其对应的程序,不能被多个程序所通用。由于数据文件之间不能建立任何联系,因而数据的通用性仍然较差,冗余量大。 数据库系统管理方式即对所有的数据实行统一规划管理,形成一个数据中心,构成一个数据仓库,数据库中的数据能够满足所有用户的不同要求,供不同用户共享。 在这一管理方式下,应用程序不再只与一个孤立的数据文件相对应,可以取整体数据集的某个子集作为逻辑文件与其对

7、应,通过数据库管理系统实现逻辑文件与物理数据之间的映射。在数据库系统管理的系统环境下,应用程序对数据的管理和访问灵活方便,而且数据与应用程序之间完全独立,使程序的编制质量和效率都有所提高;由于数据文件间可以建立关联关系,数据的冗余大大减少,数据共享性显著增强。数据模型 现实世界中的客观事物是彼此相互联系的。 一方面,某一事物内部的诸因素和诸属性根据一定的组织原则相互具有联系,构成一个相对独立的系统; 另一方面,某一事物同时也作为一个更大系统的一个因素或一种属性而存在,并与系统的其它因素或属性发生联系。 客观事物的这种普遍联系性决定了作为事物属性记录符号的数据与数据之间也存在着一定的联系性。具有

8、联系性的相关数据总是按照一定的组织关系排列,从而构成一定的结构,对这种结构的描述就是数据模型。 从理论上讲,数据模型是指反映客观事物及客观事物间联系的数据组织的结构和形式。客观事物是千变万化的,各种客观事物的数据模型也是千差万别的,但也有其共同性。常用的数据模型有层次模型、网络模型和关系模型三种。要 点 1层次模型 层次模型(hierarchical model)表示数据间的从属关系结构,是一种以记录某一事物的类型为根结点的有向树结构。 层次模型象一棵倒置的树,根结点在上,层次最高;子结点在下,逐层排列。 其主要特征如下: .仅有一个无双亲的根结点。 .根结点以外的子结点,向上仅有一个父结点,

9、向下有若干子结点。 层次模型表示的是从根结点到子结点的一个结点对多个结点,或从子结点到父结点的多个结点对一个结点的数据间的联系。层次模型的示例如图 : 人才管理中心北京市国有企业界科研机构高等院校广东省黑龙江省上海市 2网状模型 网状模型(network model)是层次模型的扩展,表示多个从属关系的层次结构,呈现一种交叉关系的网络结构。 网状模型是以记录为结点的网络结构。 其主要特征如下: .有一个以上的结点无双亲。 .至少有一个结点有多个双亲。 网状模型可以表示较复杂的数据结构,即可以表示数据间的纵向关系与横向关系。这种数据模型在概念上、结构上都比较复杂,操作上也有很多不便。网状模型的示

10、例如图:专业分类地区分布人才编号地区编号地区名称人才编号专业编号专业名称专门人才自然情况人才编号姓名年龄姓名学历专业名称专门人才专业特长职称姓名专业名称特殊成就成就 3关系模型 关系模型(relational model)的所谓“关系”是有特定含义的,广义地说,任何数据模型都描述一定事物数据之间的关系。 关系模型的所谓“关系”虽然也适用于这种广义的理解,但同时又特指那种虽具有相关性而非从属性的平行的数据之间按照某种序列排列的集合关系。 关系模型的主要特点有: 关系中每一数据项不可再分,是最基本的单位; 每一竖列数据项是同属性的。列数根据需要而设,且各列的顺序是任意的; 每一横行记录由一个事物的

11、诸多属性项构成。记录的顺序可以是任意的; 一个关系是一张二维表,不允许有相同的字段名,也不允许有相同的记录行。关系模型的示例如图:姓名性别年龄甲乙丙丁女男男女40513545某部门专门人才基本情况表某地区专门人才基本情况表部门专业姓名性别年龄高等院校高等院校高等院校高等院校信息管理软件工程计算机国际贸易甲乙丙丁女男男女20211920 数据库应用系统 数据库应用系统是一个复杂的系统,它由硬件、操作系统、数据库管理系统、编译系统、用户应用程序和数据库组成。 1.数据库 数据库是数据库应用系统的核心和管理对象。前面介绍的数据模型是对数据库如何组织的一种模型表示,它不仅包括客观事物本身的信息,还包括

12、各事物间的联系。 数据模型的主要特征是数据结构,因此数据模型的确定,就等于确定了数据间的关系,即数据库的框架。 有了数据间的关系框架,再把表示客观事物具体特征的数据装入框架中,就形成了数据库。 要 点 所谓数据库,就是以一定的组织方式将相关的数据组织在一起存放在计算机存储器上形成的、能为多个用户共享的、与应用程序彼此独立的一组相关数据的集合。如表1-1所示。 数据库的性质是由其中的数据模型决定的。在数据库中的数据如果依照层次模型进行数据存储,则该数据库为层次数据库;如果依照网络模型进行数据存储,则该数据库为网络数据库;如果依照关系模型进行数据存储,则该数据库为关系数据库。 FoxPro for

13、 windows 数据库管理系统所管理的数据,都是依照关系模型进行存储的,因此其数据库为关系数据库。 数据库的操作主要是以选择操作、投影操作和连接操作为基础。表1学生成绩库 student.dbfSnoSnameSexBirthdayDeptFreeZfresume960001张小兰女78/01/03物理.T.515MENO960002李大思男78/02/04化学.T.520MENO960003王从伍男78/03/04计算机.T.550MENO960004常珊女78/04/06数学.T.545MENO960005周学刚男78/05/12中文.T.520MENO960006刘之凡男77/09/0

14、1历史.F.570MENO960007赵南霞女78/06/07传播.T.640MENO960008汪蓓丝女78/08/08物理.T.580MENO960009秦龙超男78/09/20数学.T.540MENO960010杨超宏男78/10/30化学.T.540MENO960011张凡男77/10/30物理.T.530MENO960012张舟男78/11/30化学.F.590MENO960013黄皓女79/03/03计算机.F.620MENO960014刘玲女77/09/30外语.T.570MENO960015孙倩女78/04/30中文.F.570MENO选择操作SnoSnameSexBirthd

15、ayDeptFreeZfresume960001张小兰女78/01/03物理.T.515MENO960002李大思男78/02/04化学.T.520MENO960003王从伍男78/03/04计算机.T.550MENO960004常珊女78/04/06数学.T.545MENO960005周学刚男78/05/12中文.T.520MENO960006刘之凡男77/09/01历史.F.570MENO960007赵南霞女78/06/07传播.T.640MENO960008汪蓓丝女78/08/08物理.T.580MENO960009秦龙超男78/09/20数学.T.540MENO960010杨超宏男78

16、/10/30化学.T.540MENO960011张凡男77/10/30物理.T.530MENO960012张舟男78/11/30化学.F.590MENO960013黄皓女79/03/03计算机.F.620MENO960014刘玲女77/09/30外语.T.570MENO960015孙倩女78/04/30中文.F.570MENOSnoSnameSexBirthdayDeptFreeZfresume960003王从伍男78/03/04计算机.T.550MENO960013黄皓女79/03/03计算机.F.620MENO对student.dbf根据dept=计算机的条件的选择结果如下:对studen

17、t.dbf根据sex=女的条件的选择结果如下:SnoSnameSexBirthdayDeptFreeZfresume960001张小兰女78/01/03物理.T.515MENO960004常珊女78/04/06数学.T.545MENO960007赵南霞女78/06/07传播.T.640MENO960008汪蓓丝女78/08/08物理.T.580MENO960013黄皓女79/03/03计算机.F.620MENO960014刘玲女77/09/30外语.T.570MENO960015孙倩女78/04/30中文.F.570MENO投影操作SnoSnameSexBirthdayDeptFreeZfre

18、sume960001张小兰女78/01/03物理.T.515MENO960002李大思男78/02/04化学.T.520MENO960003王从伍男78/03/04计算机.T.550MENO960004常珊女78/04/06数学.T.545MENO960005周学刚男78/05/12中文.T.520MENO960006刘之凡男77/09/01历史.F.570MENO960007赵南霞女78/06/07传播.T.640MENO960008汪蓓丝女78/08/08物理.T.580MENO960009秦龙超男78/09/20数学.T.540MENO960010杨超宏男78/10/30化学.T.540

19、MENO960011张凡男77/10/30物理.T.530MENO960012张舟男78/11/30化学.F.590MENO960013黄皓女79/03/03计算机.F.620MENO960014刘玲女77/09/30外语.T.570MENO960015孙倩女78/04/30中文.F.570MENO SnoSnameZf960001张小兰515960002李大思520960003王从伍550960004常珊545960005周学刚520960006刘之凡570960007赵南霞640960008汪蓓丝580960009秦龙超540960010杨超宏540960011张凡530960012张舟5

20、90960013黄皓620960014刘玲570960015孙倩570对student.dbf在sno,sname,zf 三个字段上的投影结果如下:连接操作姓名性别基本工资职务工资赵琳女25080钱清男350100刘军男3800孙理男27070李云男3000汪阳女15030周红女20050姓名 加班工资房租费水电费赵琳020.1519.87钱清3047.5033.7孙理4018.3325.9李云03219.07周红8017.5613.2AB对数据库A和数据库B根据姓名字段进行连接,生成数据库C,其结果如下:姓名性别基本工资职务工资加班工资房租费水电费赵琳女25080020.1519.87钱清男

21、3501003047.5033.7刘军男3800孙理男270704018.3325.9李云男300003219.07汪阳女15030周红女200508017.5613.2CFoxPro 数据库管理系统要 点3、系统菜单和命令窗口的使用方法三种操纵数据库的方法: 一、命令驱动 二、程序驱动 三、菜单驱动1、主要技术指标见书P7,表1-92、FoxPro 的使用的软硬件环境 386/6M/3.5/MOUSE dos3.1以上或windows3.1以上FoxPro 的语法规则1、命令的一般形式:命令动词 范围子句 条件子句 字段列表子句 其它子句 例: display all fields snam

22、e, dept for zf550一、命令动词:二、范围子句: 1)、ALL 2)、NEXT n 3)、RECORD n 4)、REST 5)、缺省:当无条件子句时,不同命令有不同的含义,的为ALL,有的为当前记录;当有FOR子句时,为ALL,当有WHILE子句时,为REST三、条件子句:1)、FOR 2)、WHILE 区别:例:list for sex=男SnoSnameSexBirthdayDeptFreeZf960001张小兰女78/01/03物理.T.515960002李大思男78/02/04化学.T.520960003王从伍男78/03/04计算机.T.550960004常珊女78/

23、04/06数学.T.545960005周学刚男78/05/12中文.T.520960006刘之凡男77/09/01历史.F.570960007赵南霞女78/06/07传播.T.640960008汪蓓丝女78/08/08物理.T.580960009秦龙超男78/09/20数学.T.540SnoSnameSexBirthdayDeptFreeZf960001张小兰女78/01/03物理.T.515960002李大思男78/02/04化学.T.520960003王从伍男78/03/04计算机.T.550960004常珊女78/04/06数学.T.545960005周学刚男78/05/12中文.T.5

24、20960006刘之凡男77/09/01历史.F.570960007赵南霞女78/06/07传播.T.640960008汪蓓丝女78/08/08物理.T.580960009秦龙超男78/09/20数学.T.540计算机从数据库开始,逐条进行比较,看是否符合条件,若符合条件,则显示。上表画 者表示符合条件,画表示不符合条件。最后记录指针停在数据库的末尾,结果如下:命令 list for sex=男 的动画演示SnoSnameSexBirthdayDeptFreeZf960002李大思男78/02/04化学.T.520960003王从伍男78/03/04计算机.T.550960005周学刚男78/

25、05/12中文.T.520960006刘之凡男77/09/01历史.F.570960009秦龙超男78/09/20数学.T.540例:命令 list while sex=男 动画演示SnoSnameSexBirthdayDeptFreeZf960001张小兰女78/01/03物理.T.515960002李大思男78/02/04化学.T.520960003王从伍男78/03/04计算机.T.550960004常珊女78/04/06数学.T.545960005周学刚男78/05/12中文.T.520960006刘之凡男77/09/01历史.F.570960007赵南霞女78/06/07传播.T.6

26、40960008汪蓓丝女78/08/08物理.T.580960009秦龙超男78/09/20数学.T.540计算机从数据库当前记录开始,逐条进行比较,看是否符合条件,若符合条件,则显示。上表画 者表示符合条件,画 表示不符合条件。一旦碰到不符合条件的,则命令停止执行,最后记录指针停在第4记录上,结果如下:SnoSnameSexBirthdayDeptFreeZf960002李大思男78/02/04化学.T.520960003王从伍男78/03/04计算机.T.550四、字段列表子句字段列表子句的形式为: Fields 列表中的字段用逗号分隔命令的书写规则:1、以命令动词开头,其它子句的顺序不限

27、;2、命令与子句,子句与子句用空格分开,数量不限;3、一条命令的最大长度为2048个字符;4、命令中的字母大小写是一样的。命令的语法约定: :必选项 :任选项 |:用户在其中任选一项,且必须选一项。思考题 1信息和数据是如何定义的? 2信息和数据有什么区别? 3常用的数据模型有几种,它们的主要特征是什么?4什么是数据库? 5什么是关系数据库? 6范围子句有哪五种?两种条件子句的含义是什么? 7命令的书写规则有哪些? 要 点第二章FoxPro 的常量、变量、函数和表达式 本 章 要 点数据类型数据存储函数表达式思考题实 验数据类型 数据是反映客观事物属性的记录。通常分为数值型和字符型两种基本类型

28、。数据类型一旦被定义,就确定了其存储方式和使用方式。FoxPro系统为了使用户建立和使用数据库更加方便,将数据细化分为以下几种类型。 1.字符型 字符型数据描述不具有计算能力的文字数据类型,是最常用的数据类型之一。 字符型数据(Character)是由汉字和ASCII字符集中可打印字符(英文字符、数字字符、空格及其他专用字符)组成,长度范围是0254个字符,使用时必须用定界符双引号(“”)或单引号( )或中括号( )括起来。要 点 2.数值型 数值型数据通常分为以下两种类型: (1)数值型 数值型数据(Numeric)是由数字(09)、小数点和正负号组成。最大长度为20位(包括、和小数点)。

29、(2)浮点型 浮点型数据(Float)是数值型数据的一种,与数值型数据完全等价。浮点型数据只是在存储形式上采取浮点格式。 3.日期型 日期型数据(Date)是用于表示日期的数据,用默认格式mm/dd/yy来表示。其中mm代表月,dd代表日,yy代表年,长度固定为8位。 4.逻辑型 逻辑型数据(Logic)是描述客观事物真假的数据,用于表示逻辑判断结果。 逻辑型数据只有真(.T.)和假(.F.)两种值,长度固定为1位。 5.备注型 备注型数据(Memo)用于存放较长的字符型数据类型。可以把它看成是字符型数据的特殊形式。 备注型数据没有数据长度限制,仅受限于现有的磁盘空间。它只用于数据库中的字段类

30、型的定义,其字段长度固定为10位,而实际数据被存放在与数据表文件同名的备注文件(*.fpt)中,长度根据数据的内容而定。数据存储 在FoxPro系统环境下,数据输入、输出是通过数据的存储设备完成的。通常我们都是将数据存入到常量、变量、数组中,而在 FoxPro系统环境下,数据还可以存入到字段和记录中。我们把这些供数据存储的常量、变量、数组、字段和记录称为数据存储容器。 1.常量 常量是一个命名的数据项,是在命令或程序中直接引用的实际值,其特征是在所有的操作中其值不变。常量有以下五种。 (1)数值型常量 由数字(09)、小数点和正负号组成。 如:123,-0.589 要 点 (2)浮点型常量 是

31、数值型常量的浮点格式。 (3)字符型常量 由汉字和ASCII字符集中可打印字符组成的字符串,使用时必须用定界符括起来。如:123,ABC,”abc”,123 (4)逻辑型常量 由表示逻辑判断结果.t.或.f.符号组成。 (5)日期常量 用于表示日期,其规定格式以mm/dd/yy表示。 如:12/24/99表示1999年12月24日。 2.内存变量 内存变量是一般意义下的简单变量。每一个内存变量都必须有一个固定的名称,以标识该内存单元的存储位置。用户可以通过变量标识符向内存单元存取数据。内存变量是内存中的临时单元,可以用来在程序的执行过程中保留中间结果与最后结果,或用来保留对数据库进行某种分析处

32、理后得到的结果。特别要注意,除非用内存变量文件来保存内存变量值,否则,当退出FoxPro 系统后,内存变量也会与系统一起消失。 用户可以根据需要定义内存变量类型,它的类型取决于首次接受的数据的类型。也就是说,内存变量的定义是通过赋值语句来完成的。它的类型有数值型、字符型、逻辑型、日期型和屏幕型五种。 在FoxPro 系统中,内存变量的赋值和输出,可以使用STORE、“=”或“?”命令进行操作完成。三个命令的格式如下: STORE TO = ?|? 内存变量名的长度在FoxPro 系统中可以达到254个字符,是由字母、数字和下划线组成。如果内存变量与数据表中的字段变量同名时,用户在引用内存变量时

33、,要在其名字前加一个m.,用以强调这一变量是内存变量。 每个内存变量都有它的作用域。用户可以通过PRIVATE、PUBLIC命令规定作用域,也可以使用系统默认的范围作为内存变量的作用域(详见第八章)。一、内存变量的输入:1)、ACCEPT TO 2)、INPUT TO 3)、WAIT TO 二、内存变量的显示DISPLAY|LIST MEMORYLIKE TO PRINTER PROMPT | TO FILE NOCONSOLE三、内存变量的存储SAVE TO | TO MEMO ALL LIKE | ALL EXCEPT 四、内存变量的恢复RESTORE FROM | FROM MEMO A

34、DDITIVE五、内存变量的释放1)、RELEASE 2)、RELEASE ALL LIKE | EXCEPT 3)、CLEAR MEMORY 3.数组变量 数组是一组有序内存变量的集合。或者说,数组是由同一个名字组织起来的简单内存变量的集合,其中每一个内存变量都是这个数组的一个元素,它是由一个以行和列形式表示的数组元素的矩阵。 所谓的数组元素是用一个变量名命名的一个集合体,而且每一个数组元素在内存中独占一个内存单元。为了区分不同的数组元素,每一个数组元素都是通过数组名和下标来访问的。 在FoxPro系统环境下,同一个数组元素在不同时刻可以存放不同类型的数据,在同一个数组中,每个元素的值可以是

35、不同的数据类型。 数组在使用前必须要通过DIMENSION或DECLARE定义。定义后,它的初始值是逻辑值.F.,在使用数组时,一定要注意数组的初始化,还要注意数组下标的起始值是1。 例:dimension A(5),B(2,3)52.T.Abc12/01/78张丰A12345123456B121 2 3 4.字段变量 字段变量是数据库管理系统中的一个重要概念。它与记录一纵一横构成了数据库的基本结构。一个数据库是由若干个具有相同属性的记录组成,而每一个记录又是由若干个字段组成。字段变量就是指数据库中已定义的任意一个字段。 我们可以这样理解:在一个数据库中,同一个字段名下有若干个数据项,而数据项

36、的值取决于该数据项所在记录行的变化,所以称它为字段变量。 字段变量的数据类型与该字段定义的类型一致。字段变量的类型有数值型(N)、浮点型(F)、字符型(C)、逻辑型(L)、日期型(D)、备注型(M)和通用型(G)等。使用字段变量首先要建立数据库,建立数据库时首先定义的就是字段变量属性(名字、类型和长度)。字段变量的定义及字段变量数据的输入、输出需要在对库进行输入、输出中进行。 5.记录 记录是数据库中一组数据项的集合。 在同一个数据库中可以有若干个记录,每一个记录具有相同的字段个数。在数据库中记录的顺序不影响对记录的操作。 在FoxPro系统中,许多操作都是通过记录操作来完成的。有关记录的操作

37、将在以后章节作详细的介绍。 SnoSnameBirthdayFreeZfresume960001张小兰78/01/03.T.515MENO960002李大思78/02/04.T.520MENO960003王从伍78/03/04.T.550MENO960004常珊78/04/06.T.545MENO960005周学刚78/05/12.T.520MENO960006刘之凡77/09/01.F.570MENO字符型日期型逻辑型数值型备注型字段变量与记录的图示讲解:字段字符型若当前记录为第5号记录,则字段变量Sno的取值为960005,zf的取值为520函数 在FoxPro系统中提供了一批标准函数,可

38、以使用户以简便的方式完成某些特定的操作。根据函数的功能,可将标准函数大致分为12类: 数值函数 字符串函数、 类型转换函数 日期和时间函数 数组函数 数据文件函数 环境函数 系统函数 低层文件函数 窗口和菜单函数 多用户功能函数 动态数据交换函数 这些函数的格式与功能,详见附录一“FoxPro函数”。 要 点1、ABS() eg. ?ABS(-23) 23 2、SIGN() eg. ?SIGN(-23) -1 3、PI() eg.? PI() 3.1416 4、SIN() eg.? SIN(PI()/2) 1.00一、 数值函数5、COS() eg.? COS(PI() 0.006、TAN()

39、 eg.?TAN(PI() 0.007、EXP() eg.?EXP(0) 1.008、LOG() eg.?LOG(1) 0.009、SQRT() eg.? SQRT(4) 210、MOD() eg.?MOD(5,2) 111、RAND() eg.?RAND(-2)12、INT() eg.? INT(10.6) 10 13、ROUND(,) eg.?ROUND(123.45,1) 123.50 ?ROUND(123.45,-1) 120.0014、FLOOR() eg.?FLOOR(-7.8) -815、CEILING() eg.?CEILING(-7.8) -716、MAX(,) eg.?MA

40、X(-2,-4,5) 517、MIN(,) eg.?MIN(-2,-4,5)18、BETWEEN(,) eg.?BETWEEN(3,2,5) .T. 1、& eg. A=123 ?&A 123 ?&A.ABC 123ABC 2. LEN() eg. ?LEN(12345) 5 3.LOWER() eg. ?LOWER(FoxPro) foxpro二、 字符串函数4.UPPER()Eg. ?UPPER(foxpro) FOXPRO5.SPACE() Eg. ?LEN(SPACE(6) 66.SUBSTR(,) Eg. ? SUBSTR(ABCDEFG,3,2) CD ? 第+SUBSTR(一二三

41、四,3,2)+季度 第二季度7.AT(,) Eg.?AT(AB,DCABEF) 3 ?AT(AB,AbDEF) 08.ATC(,) ?ATC(AB,DEAbEF) 39.LEFT(,) ?LEFT(ABCDEF,2) AB10.RIGHT(,) ?RIGHT(ABCDEF,2) EF11.ALLTRIM() ? ALLTRIM( AB ) AB12.TRIM() ? TRIM( AB 1) AB 113.RTRIM() ? RTRIM(1 AB CD ) 1 AB CD14.EVALUATE() ?EVALUATE(1+1) 21.DATE()2.TIME()3.YEAR()4.MONTH()

42、5.DAY()6.DOW()三、 日期与时间函数 ?DoW(DATE() 17.CMONTH() ?CMONTH(DATE() October8.CDOW() ? CDOW(DATE() Sunday 1.CTOD() ? CTOD(10/12/00)+3 10/15/002.DTOC() ?DTOC(10/15/00) 10/15/003.CHR() ? CHR(65) A四、 转换函数4.STR(,) ? STR(3.1415926,4,2)+A 3.14A5.VAL() ? VAL(12A34) 126.ASC() ?ASC(aAbc) 97 7.DTOR() ? DTOR(90) 1.

43、57 1.DBF(|) 2. ALIAS(|) 3. BOF(|) 4. EOF(|) 5. RECNO(|) 6. RECCOUNT(|)五、 数据文件函数 1. COL() 2.ROW() 3.MCOL() 返回鼠标在窗口中所处的行位置。 4.MROW() 5.PCOL() 6.PROW()六、 环境函数表达式 表达式是由数据、数据存储容器和运算符组成的运算式。在FoxPro系统中根据不同的运算符及表达式结果的不同,表达式可以分为以下五种: 1.算术表达式 算术表达式可由算术运算符和数值型常量、数值型内存变量、数值型数组、数值类型的字段、返回数值型数据的函数组成。算术表达式的运算结果是数值

44、型常数或逻辑型常数。一、 算术运算 +、 *或 *、/、% (同MOD() +、 二、关系运算 、 、=、=、或# 2.字符表达式 字符表达式可由字符运算符和字符型常量、字符型内存变量、字符型数组、字符型类型的字段和返回字符型数据的函数组成。字符表达式运算的结果是字符常数或逻辑型常数。一、字符串运算 +、 二、关系运算 、 、=、=、或# = = 字符全同比较 $:字符包含比较Eg. abc= =abcd .F. abc=abcd .F. abcd=abc .T. $ 字符包含比较 Eg. ab $ table .T. 3. 日期表达式 日期表达式可由日期运算符和日期型常量、日期型内存变量和数

45、组、返回时间日期型数据的函数组成。日期表达式运算的结果是日期型常数或数值型常数。一、日期运算 1、日期型数据+整数 2、日期型数据-整数 3、日期型数据-日期型数据 二、关系运算 、 、=、=、或# 4.关系表达式 关系表达式可由关系运算符和字符表达式、算术表达式、时间日期表达式组成。其运算结果为逻辑型常量。关系运算是运算符两边同类型元素的比较,关系成立结果为(.T.);反之,结果为(.F.)。5.逻辑表达式 逻辑表达式可由逻辑运算符和逻辑型常量、逻辑型内存变量、逻辑型数组、返回逻辑型数据的函数和关系表达式组成。其运算结果仍是逻辑型常量。 .NOT. 或 ! .AND. &只的当两个操作数均为

46、真时, 结果才为真,否则为假。 .OR. &只的当两个操作数均为假时, 结果才为假,否则为真。 思考题 1. FoxPro有几种数据类型? 2.FoxPro有几种数据存储容器? 3.内存变量、数组变量、字段变量有何区别? 4.FoxPro有多少种类型的表达式,它们的计算规则是什么?要 点实验题目 1.设计并输出多个各种类型的常量,并输入给内存变量或数组。 2.利用内存变量的输入/输出命令计算各种表达式的值。要 点第三章数据库的建立和修改 本 章 要 点建立、修改和显示数据库的结构数据库的打开和关闭向库中加入记录数据库的显示和修改数据库的复制思考题实 验建立和修改数据库的结构 建立库时,首先要对

47、所处理的对象进行调查分析,再根据需要设计一张二维表。当表的行、列个数及每列中数据的属性确定后,再把数据集合在其中即可。下面将以学生基本情况库student.dbf的设计过程为例,具体介绍FoxPro系统中库的建立过程。 1.定义库中的数据类型 (1)定义二维表名 设计一张二维表,首先要给表起个名字。 (2)二维表栏目设计 首先确定库中有几个栏目,然后根据每一个栏目所含内容的不同设计栏目标题和属性。由此,决定每一列存放的数据的内容和属性。栏目一旦被设定,库的总体框架也就设计完成,就可以依照数据的属性将数据填入库中。 要 点 (3)填写二维表的内容 表4-1 就是一张“学生基本情况库student

48、.dbf”二维表。SnoSnameSexBirthdayDeptFreeZfresume960001张小兰女78/01/03物理.T.515MENO960002李大思男78/02/04化学.T.520MENO960003王从伍男78/03/04计算机.T.550MENO960004常珊女78/04/06数学.T.545MENO960005周学刚男78/05/12中文.T.520MENO960006刘之凡男77/09/01历史.F.570MENO960007赵南霞女78/06/07传播.T.640MENO960008汪蓓丝女78/08/08物理.T.580MENO960009秦龙超男78/09/

49、20数学.T.540MENO960010杨超宏男78/10/30化学.T.540MENO960011张凡男77/10/30物理.T.530MENO960012张舟男78/11/30化学.F.590MENO960013黄皓女79/03/03计算机.F.620MENO960014刘玲女77/09/30外语.T.570MENO960015孙倩女78/04/30中文.F.570MENO 从表4-1可以看到,它是由以下几部分组成的: 库的名字(标题):每张表都有一个名字,是用来概括表的内容。例如上表的名字为“学生基本情况库student.dbf”。 库中每一列的栏目标题序列为表头,它标明了每一列对应数据

50、的属性。例如在表4-1中的Sno、Sname、Birthday、Resume等等,即是表头。 库中每一行的数据是表的内容,由每行中具体的数据项内容组成的,它标明了某一事物的基本内容。称为记录。例如在表4-1中,第二行反映的便是李大思的个人情况。 (4)定义数据库的结构 在FoxPro 系统中,一张二维表对应一个数据库,称为数据库文件(*.dbf)。 一张二维表由表名、表头、表的内容三部分组成,一个数据库则由数据库名、数据库的结构、数据库的记录三要素构成。 数据库的文件名相当于二维表中的表名,它是数据库的主要标识,用户可以依靠数据库名在磁盘上存取、使用指定的数据库。 数据库的结构相当于二维表的表

51、头,二维表的每一列对应数据库中的一个字段,其属性决定了字段名、字段类型和字段长度。 数据表中的记录是数据表中不可分割的基本项,即二维表中的表的内容。一个数据表的大小,主要取决于它拥有的数据记录的多少。不包含记录的数据表称为空表。 定义数据库的结构,就是根据二维表的定义来确定数据库的结构。即确定库的组织形式,定义库中的字段个数、字段名、字段类型、字段宽度等。 如果我们以表4-1的内容建立一个数据库,它的结构可以按表4-2定义。 调查表中的栏目字段名称字段类型字段宽度小数点学号Sno字符型6姓名Sname字符型8性别Sex字符型2出生年月Birthday日期型8系别Dept字符型20是否统招Fre

52、e逻辑型1总分Zf数值型62简历Resume备注型10 2利用表设计器创建表 利用表设计器定义数据库的结构,操作方法有二种。 方法一(菜单驱动): 从FoxPro 系统的主菜单开始,打开“文件”菜单,选择“新建”;在“新建”窗口,选择“Table/DBF”,再按“新建文件”按钮; 在“表设计器”窗口,逐一地定义表中所有字段的名字、类型、宽度,完成对数据库结构的建立,用CTRL+W存盘,出现另存为窗口,在该窗口中输入要建立的库的名称 。 方法二(命令驱动): 命令格式: CREATE 库文件名 3利用表设计器修改库结构 利用表设计器定义修改数据库的结构,操作方法有二种。 方法一(菜单驱动): 从

53、FoxPro 系统的主菜单开始,打开“数据库”菜单,选择“设置”;在“设置”窗口,点击“Modifiy”按钮;在“表设计器”窗口,修改库中所有字段的名字、类型、宽度、小数位,完成对数据库结构的修改。 方法二(命令驱动): 命令格式: MODIFY STRUCTURE 库文件名 4显示库结构 命令格式:LIST|DISPLAY STRUCTURE TO PRINTER|TO FILE 把结果显示到屏幕或打印机或保存到文件 命令动词:LIST 和DISPLAY 的区别: LIST 表示连续显示; DISPLAY 表示分页显示。数据库的打开和关闭任何数据库在使用前必须打开,打开数据库即把数据库从磁盘

54、调入内存,供用户使用;用完后要将其关闭,即从内存存入磁盘保护起来。1、打开数据库: USE 例:USE STUDENT2、关闭数据库 USE 例:USE要 点向数据库中加入记录 通过前面的介绍,我们知道一个数据库是由库的结构与库中的记录两部分组成的。向库中加入记录,就是对库进行数据输入的操作。 1.创建库时立即输入数据 创建库即定义库结构是通过表设计器来完成的,而向库中加入数据,要在数据库的“浏览”窗口或数据库的“编辑”窗口中进行。在创建库时,如果库中所有字段的属性已定义完成,可按“确定”按钮或按CTRL+W来保存库结构,同时打开“系统”窗口,显示“现在输入数据吗?”的对话。选择“YES”按钮

55、,可以立即进入库“编辑”窗口,进行库中数据的输入。 要 点 2以追加方式输入数据 在建立库结构时,如果用户没有选择立即方式向库输入数据,可以用追加数据方式向库输入数据。该操作是在库“浏览”或库“编辑”窗口进行的。一、用APPEND命令追加 APPEND BLANK 作用是在当前数据库中追加记录或一条空白记录。二、用其它编辑或浏览命令进行追加。 如EDIT、CHANGE、BROWSE等编辑或浏览命令,在使用时只须从键盘上按一次CTRL+N,即可在数据库的末尾追加一条记录。 无论是在编辑命令还是浏览命令,都可以对库中的数据进行追加,只是显示方式有所不同。在这两个窗口中,不仅可以进行数据的输入,同时

56、也可以编辑修改库中的数据。 3备注型数据输入 备注型字段由于其长度不定,因此,该字段数据不能同其它类型的字段一样在库“编辑”窗口或库“浏览”窗口输入。 备注型字段数据输入的操作方法是,把光标移到备注型字段下双击或按下CTRL+PGDN或PGUP,即可进入备注字段的编辑窗口。在这个窗口内,用户可以输入或修改备注型数据。数据的显示和修改 在FoxPro 系统环境下,当库建立完成后,库的数据和结构已基本确定,用户可以通过表设计器显示表结构;并且采用表“浏览”和表“编辑”两种操作方式对表中的数据进行显示和修改。 1.显示数据库文件的记录 LIST|DISPLAY FOR WHILE OFF TO PR

57、INTER PROMPT | TO FILE 要 点2.用浏览方式显示和修改数据 可以采用“浏览”方式,显示和修改库中的数据。在库“浏览”窗口,同样可以使用鼠标和键盘两种方式调整窗口的大小、调整每个字段的显示宽度。BROWSEFIELDS FOR FREEZE LOCK NOAPPENDNODELETENOEDIT | NOMODIFYTITLE VALID :F ERROR WHEN 数据库的复制1、库结构的复制 COPY STRUCTURE TO FIELDS 功能:把当前数据库的指定字段的结构复制到新数据库文件中去。 要 点2、库的复制 COPY TO FIELDS FOR WHILE

58、功能:把当前数据库的指定范围内满足条件的记录的指定字段的值复制到新数据库文件中去。 3、文件的复制 COPY FILE TO 功能:把源文件file1拷贝一份到目的文件file2中去。 思考题 对student.dbf 进行下列操作 1. 显示数据库文件中所有记录; 2.显示数据库文件中所有姓黄的女学生的记录。 3.显示数据库文件中所有78年出生的学生的姓名和出生年月。 4.使用browse命令浏览student.dbf库中的sno,sname,dept及birthday字段,但不可增加记录和删除记录. 5.使用copy to 命令生成一个新数据库mc.dbf,使其包含student.dbf

59、中的sno,sname,sex,dept,free 字段的值.要 点实验题目 1.设计并创建书上P14P16页上的student.dbf,assign.dbf,course.dbf数据库。 2.把思考题的结果通过上机检验是否正确.要 点第四章数据库的维护及操作本 章 要 点记录指针定位记录的插入记录的删除记录的修改数据库文件和数据文件之间数据的转移思考题实 验数据库中记录的定位 在FoxPro 系统环境下,库中的每一列数据是通过字段名来标识的,而每一行数据是通过记录号来标识的。用户对库中每一个数据项的访问,是通过记录号和字段名来进行的。也就是说,指明了记录号(库的行)和字段名(库的列),就确定

60、了数据项(库中的某一数据)。在向库输入数据时,系统按照其输入的前后顺序,给每一个记录赋予一个记录号。最先输入的记录为1号记录,其次2号记录,以此类推。此时记录的顺序称为物理顺序。 索引是按着索引表达式的值使数据库中的记录有序排列的一种技术,若一个数据库一旦建立了索引并打开了索引文件,则数据库中的记录顺序称为索引顺序,又称逻辑顺序。(索引在第五章讲解) 在FoxPro 系统内部,有一个用以确定当前记录的记录指针( ),记录指针指向哪一个记录,这一个记录就是当前操作的记录,即当前记录。 要 点 当库打开时,当前记录为第一个记录。库文件一旦打开,库中的记录指针是可以移动的,所以当前记录是某一时刻的操

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论