VisualFoxPro第1章概述.ppt

上传人:牧羊曲112 文档编号:6523139 上传时间:2023-11-08 格式:PPT 页数:110 大小:235KB
返回 下载 相关 举报
VisualFoxPro第1章概述.ppt_第1页
第1页 / 共110页
VisualFoxPro第1章概述.ppt_第2页
第2页 / 共110页
VisualFoxPro第1章概述.ppt_第3页
第3页 / 共110页
VisualFoxPro第1章概述.ppt_第4页
第4页 / 共110页
VisualFoxPro第1章概述.ppt_第5页
第5页 / 共110页
点击查看更多>>
资源描述

《VisualFoxPro第1章概述.ppt》由会员分享,可在线阅读,更多相关《VisualFoxPro第1章概述.ppt(110页珍藏版)》请在三一办公上搜索。

1、1,Visual FoxPro程序设计,2,目录,第1章 数据库系统基础知识第2章 VFP数据库管理系统第3章 数据库的基本操作第4章 查询与视图第5章 程序设计基础第6章 表单第7章 类的创建与使用第8章 报表第9章 菜单和工具栏第10章 应用程序的开发与发布,3,第1章 概述,1.1 数据处理与数据管理技术 1.2 数据库系统的组成 1.3 数据库系统的模式结构 1.4 数据模型1.5 SQL语言1.6 数据库设计基础及主流DBMS,4,1.1 数据处理与数据管理技术,1.1.1 信息、数据与数据处理信息:现实世界中事物存在方式或运动状态的反映(通过认识主体的所感知或描述)。数据:描述现实

2、世界种实物的符号记录。两者的区别:数据按一定的格式对信息进行的符号化表示,信息是数据的语义解释。数据处理:,数据收集,数据规范与编码,数据输入,数据处理,数据输出,5,数据管理技术的发展,数据处理技术的形成和发展经历了早期的人工管理、文件系统、数据库系统这三个阶段。人工管理是最原始的数据管理方式,由于数据的不共享性,而被文件系统所代替。文件系统虽然数据具有共享性,但共享性差、独立性差、冗余度高而被数据库系统所代替。由于数据库系统具有共享性高、冗余度小、数据的独立性好的优点使它成为当今数据处理的主要工具。在20世纪60年代末,美国IBM公司成功地研制出第一个商品化的数据库系统IMS(Inform

3、ation Management System),以后又相继出现了DBASE、FoxBASE、FoxPro、VFP等数据库系统。,6,信息化社会的到来,使数据库系统的应用更为广泛,技术更加成熟,它与人工管理、文件系统比较有如下特点:1、数据结构化在文件系统中,各个文件不存在相互联系。从单个文件来看,数据一般是有结构的;但从整个系统来说,数据又是没有结果的。数据库系统则不同,在同一数据库中的数据文件也存在联系,即在整体上服从一定的结构形式。,1.1.2 数据库系统的特点,7,2、数据的共享共享是数据库系统的目的,也是其重要特点。一个数据库中的数据不仅可为同一企业或机构之内的各个部门共享,也可为不

4、同单位、地域甚至不同国家的用户共享。而在文件系统同,数据一般是由特定的用户专用的。3、数据的独立性在文件应用系统中,数据结构和应用程序相互依赖,一方的改变总是要影响另一方的改变。数据库系统则力求减少这种相互依赖,实现数据的独立性。虽然目前还未能完全做到这一点,但较之文件系统已大有改善。4、冗余度低数据专用时,每个用户拥有并使用自己的数据,难免有许多数据相互重复,这就是冗余。实现共享后,不必要的重复将全部消除,但为了提高查询效率,有时也保留少量重复数据,其冗余度可由设计人员控制。,8,1.2.1 数据库系统,数据(Data)是指能存储在计算机系统的物理介质上并能被计算机识别的物理符号。它包括文字

5、、图形、图像、声音等。数据处理(Data Processing)是指将数据转为对用户来讲有用信息的过程。数据库(Database)是指存储在计算机存储器中结构化的、能为多个用户共享且又独立于应用程序的相关数据的集合。,9,数据库管理系统(DBMS,DataBase Management System)是指可以对数据库的建立、使用和维护管理的软件。它包括数据定义语言DDL(Data Define Language)、数据操纵语言DML(Data Manipulation Language)、管理与控制程序。数据库应用系统(DBAS,DataBase Application System)是指用数

6、据库系统资源,面向某一实际应用而开发的具体应用程序软件系统,如学籍管理系统、工资管理系统等。数据库系统(DBS即DataBase System)是指在计算机系统中引入数据库后的系统,它由硬件系统、数据库集合、数据库管理系统、相关软件、数据库管理员、用户组成。,10,1.3 数据库系统的模式结构,数据库系统的三级模式结构:外部层,概念层和内部层,分别对应数据库模式的外模式、模式和内模式。,外部层(单个用户的视图),概念层(全体用户的公共视图),内部层(存储视图),数据库系统三级结构,11,1、数据模型的基本概念在现实世界中,将研究对象的抽象化、形式化的描述过程称为模型。数据模型包含:数据的静态特

7、征:数据结构和数据间的关系数据的动态特征:定义在数据上的操作数据的完整性约束:数据必须满足的条件,1.2.2 数据模型,12,现实世界,实物及联系,事物,对象,性质,信息世界,概念模型,实体,对象,属性,数据世界,结构模型,数据,记录,字段,认识抽象,数据表示,实体-联系模型,层次数据模型,网状数据模型,关系数据模型,13,实体:客观存在并可以相互区别的事物称为实体。实体可以是实际的事务,如教师、职工、部门、单位等;也可以是抽象的事件,如比赛、订货、选修课程等。属性:实体所具有的某一特性称为属性,例如学生可以用学号、姓名、性别、出生日期等属性描述。域:属性的取值范围称为域,如学生的一门课成绩取

8、值为0100之间。实体型:若干个属性名组成的集合表示一个实体的类型成为实体型。实体集:同型实体的集合称为实体集,如全班学生实体就是一个实体集。联系:实体联系有实体内部联系与实体外部联系。实体内部联系是指实体内部各属性之间的联系。实体外部联系也称实体之间的联系,通常是指不同实体集之间的联系。,14,一对一联系:实体集A中的一个实体与实体集B中至多有一个实体相对应,反之亦然,则称实体集A与实体集B有一对一联系,记为1:1。如旅客与车票之间的联系。,实体集之间的联系可分为三类,15,一对多联系:实体集A中的一个实体与实体集B中的N个实体相对应,反之实体集B中的一个实体至多与实体集A中的一个实体相对应

9、,则称实体集A与实体集B有一对多联系,记为1:N。如班级与学生之间的联系。,16,多对多联系(M:N):实体集A中的一个实体与实体集B中的N个实体相对应,反之实体集B中的一个实体与实体集A中的M个实体相对应,则称实体集A与实体集B有多对多联系,记为M:N。如教师与学生之间的联系。,17,数据库管理系统常用的数据模型有下列三种:层次模型网状模型关系模型,2.数据模型,18,关系模型是以数学理论为基础构造的数据模型,它用二维表格来表示实体集中实体之间的联系。在关系模型中,操作的对象和结果都是二维表,表格与表格之间通过相同的栏目建立联系。下表表名为学生成绩,表中一行称为一个元组,表中一列称为一个属性

10、。如表中有5个属性,即学号、姓名、数学、英语、VFP。,关系模型(Relational Model),19,学生成绩表,20,关系模型的规范化:,1)关系的每一个分量必须是一个不可分的数据项,即表中不可含表;2)同一关系中不能有相同的属性名;3)关系中不允许有相同的元组;4)在一个关系中元组的次序可任意;5)在一个关系中列的次序可任意。,21,关系模型的表示形式:,关系名(属性1,属性2,属性N)例如:学生成绩表壳描述为如下关系:学生成绩(学号,姓名,数学,英语,VFP),22,3.关系的完整性,关系的完整性包括实体完整性、参照完整性和用户定义完整性。现在先介绍一下与完整性相关的概念。(1)概

11、念1)关键字:在关系中能唯一标识元组的一个或一组属性称为关键字,如学生成绩表中的学号。2)候选关键字:候选关键字也是关键字,它是具有关键字特性的一个或多个属性的统称。若学生成绩表中学号、姓名都是无重复值,那么学号与姓名就是候选关键字。若姓名有重复值,则姓名就不能是候选关键字。3)主关键字:主关键字是在多个候选关键字中选出的一个关键字。一个关系中只能有一个主关键字,如在学生成绩表中学号为主关键字。4)外部关键字:若在一个关系R中一个属性不是本关系的主关键字或候选关键字,而是另外一个关系S的主关键字或候选关键字,则称此属性为本关系的外部关键字,R为参照关系,S为被参照关系。,23,(2)关系的完整

12、性,1)实体完整性:是指关系中的主关键字不能取空值。空值就是不确定的值。由于主关键字为空值,那这个元组是无意义的。如学生成绩表中学号为空值,而其他属性却有值,则该条记录无意义。2)参照完整性:是用来约束关系与关系之间的关系,是指一个关系R的外部关键字F与另一个关系S的主关键字K相对应(即F是S的主关键字),则对R中的每一个元组在F上的值必须为空值或等于S中某一个元素的主关键字的值,如有以下两个关系(表):学生(学号,姓名,性别,专业代号)专业(专业代号,专业名),24,3)用户定义完整性:是指根据用户的实际需要,属性域的完整性的规定。在VFP数据库表中是指字段的数据类型、宽度、精度、取值范围、

13、是否允许空值。如学生成绩表中的数学,其数值类型可为整型,取0100之间。,25,4.关系运算,传统集合的关系操作,专门的关系操作,并 差 交,选择 投影 联接,26,27,1.5 SQL语言简介,1.数据定义 CREATE TABLE(完整性约束2.数据查询 SELECT A1,A2,An FROM R1,R2,Rm WHERE F GROUP BY 列名序列 ORDER BY 列名排序 3.数据更新(1)插入语句 INSERT INTO(,,)VALUES(,),28,(2)修改语句 UPDATE SET=WHERE(3)删除语句 DELETE FROM WHERE4.SQL的视图 CREA

14、TE VIEW,AS,29,1.6 数据库设计基础,数据库设计的步骤:1.系统规划 是对应用单位的环境、目标和现行系统的状况进行初步调查,根据单位发展目标制定系统的需求,研究新系统的可能性。2.需求分析 了解新系统的需求,常用的工具:数据流图和数据字典数据流图:表述了数据和处理的关系数据字典:对系统中的数据进行定义和描述,外部实体,数据处理,数据存储,数据流,数据流,30,3.系统设计 系统分析阶段回答的是“系统做什么”,设计阶段回答的是怎么做,分为三个阶段:概念结构设计、逻辑结构设计和物理结构设计。4.系统实施 按照设计阶段所设计的软件结构,建成一个可实际运行的信息系统,交给用户使用。测试的

15、类型:模块测试系统测试验收测试5.系统运行和维护 对数据库进行修改和完善。分为:日常维护监控与分析性能调整扩展与增强,31,1.7 主流DBMS介绍,1.Oracle2.DB23.Sybase4.MS-SQL Sever5.Access6.Visual FoxPro,32,1.2.3 VFP启动与主界面,1.VFP的功能VFP是一个可视化数据库编程的开发工具,它可以建立表、数据库,对数据库中的表建立联系并进行可视化管理。项目管理器是对多种文档、多种程序进行统一集中管理与维护的工具。VFP运用自身的向导、设计器、生成器等实现可视化编程。VFP运用交互式与自动化工作方式,方便了不同层次、不同应用用

16、户的需求。VFP支持多媒体、网络编程,它能高效、快捷地开发出令人满意的应用软件。,33,处理器:主频为233MHz的奔腾2以上的微机内存储器:64MB以上内存外存储器:典型安装需85MB的硬盘空间,最大安装需90MB硬盘空间显卡:支持800600像素或更高分辨率显示器操作系统:Win95/98/me/2000/xp/NT 4.0或更高版本的操作系统,2.VFP系统环境,34,1、将VFP系统光盘插入CD-ROM驱动器中2、通过【我的电脑】找到setup.exe文件,双击该文件以后按照安装向导的进一步提示完成安装即可,3VFP的安装,35,1)单击开始-程序-Microsoft Visual S

17、tudio 6.0-Microsoft Visual FoxPro 6.02)双击桌面上的VFP快捷方式图标,4VFP的启动,36,5.VFP的退出,1)按Alt+F42)在命令窗口中输入QUIT,然后回车3)从文件菜单-退出4)双击左上角的控制图标5)单击左上角控制图标-关闭,37,VFP的主窗口包括:标题栏、菜单栏、工具栏、状态栏、命令窗口和工作区几个组成部分。,6.VFP的主窗口,38,VFP工作方式主要分为两类:一类为交互工作方式,这包括在命令窗口执行和用菜单或工具栏按钮执行命令。另一类为自动化工作方式。它包括用编写的程序、各种生成器等自动生成程序后进行执行。在解决某一个问题时,两种工

18、作方式哪一种或两种方式结合使用都可以得到同一结果。这两种工作方式为不同层次的用户、不同软件开发的用户提供了方便的使用方式,用户可以根据自身的实际情况进行选择使用。,7.VFP工作方式,39,8.简单的VFP用户程序,例1.1 设计一个表单,显示“欢迎您使用VFP,祝您成为软件开发的精英”。例1.2 设计一个口令系统,若口令正确,显示欢迎您进入学生成绩管理系统,否则显示非法用户。例1.3 设计一个两个串交换的表单。,40,1.3 数据与数据运算,VFP重要的作用就是对数据进行高效的处理。在VFP中按数据存储类型分为整型、浮点型、字符型、日期型等多种。按数据形式分为常量、变量、函数、表达式等;,4

19、1,表1.1 数据类型,42,43,44,所谓的常量就是在程序执行中其值不变的量。VFP中有6种类型的常量:数值型常量字符型常量逻辑型常量货币型常量日期型常量日期时间型常量,1.3.1 常量,45,(1)整数:由数字组成,如0,-2,3。(2)实数:十进制表示形式:它由数字、正负号、小数点组成。如0.23,-3.14等。指数表示形式:它由数字、小数点与E或e组成。如1.23103可表示为1.23E3,如-1.2310-2可表示为-1.23e-2。E前要有数字,E后要有整数。,1数值型常量,46,字符型常量是用定界符(双引号“”、单引号、方括号)括起来的一系列有效字符,也称为字符串。如“中国”、

20、“微机”、PC、abc、计算机、123、“3.14159”等。字符串的最大长度为254个字符。若字符串中含有定界符,则必须用另一种定界符括起来。例如“学生爱好计算机”Im a student.,2字符型常量,47,3.逻辑型常量,逻辑常量只有真和假两种值。逻辑真:.t.T.Y.y.逻辑假:.f.F.N.n.,48,货币型常量以$符号开头,并四舍五入到小数点后4位例如:$100.12345,计算结果为$100.1235,4.货币型常量,49,5.日期型、日期时间型常量,日期型常量:必须用花括号括起来(1)通用格式:mm/dd/yyyy,例如08/08/2008或8/8/08,空白的日期可表示为、

21、/,需执行SET STRICTDATE TO 0命令;(2)严格格式:yyyy-mm-dd,若要设置严格的日期格式,例如2008-8-8,需执行SET STRICTDATE TO 1命令。,50,日期时间型常量:(1)通用格式:mm/dd/yyyy hh:mm:ssa|p 如9/15/99 8:45(2)严格格式:yyyy-mm-dd hh:mm:ssa|p,如2008-8-8 8:8:8 p,51,变量是它的值可以改变的量。变量可分为两大类,一类为字段变量、另一类为内存变量。变量是有名的。标识符是用来标识变量、函数、表、数据库、文件等名子,即标识符就是一个名子。,1.3.2 变量,52,由数

22、字、字母、下划线组成。以字母、下划线开头。长度一般为1128个字符,但对于数组名、自由表名、自由表中的字段名、索引标识符名最多为10个字符。避免使用VFP保留字。汉字与字母同等待遇(一个汉字占两个字符)。,标识符的组成规则:,53,内存变量有N、C、Y、D、T、L六种类型。VFP规定内存变量的类型可以改变,即同一变量可以赋予不同类型的值。当内存变量与字段变量重名时,在访问内存变量时,VFP规定在内存变量名前加M-或M.,否则系统默认是访问字段变量。,54,(1)赋值命令格式1:=格式2:STORE TO 功能:格式1将表达式的值赋给变量。格式2将表达式的值赋给变量表中的所有变量。说明:1)表达

23、式是运算符与操作对象连接起来的式子,表达式可为变量、常量、也可为表达式。2)变量表中的各变量用逗号分隔。,1.简单变量与相关命令,55,(2)输出命令,格式:?|?功能:显示输出项目表中的各输出项。说明:1)输出项可为变量、常量、表达式。2)输出项目表中的各项是用逗号分隔的,命令执行时遇到逗号就空一格。3)?是表示在下一行输出各输出项,?是在当前行当前列输出各输出项。,56,例1.4 内存变量的应用,a=1b=.t.c=2005-10-12d=Ae=2005-10-12 12:30:28 astore 10 to f,gh=$123.23?a,b,c,d,e,f,ga=中国b=哈尔滨c=123

24、?a,b?c=,c?a,b,57,数组是按一定顺序排列的数据集合。数组中的每一个数据称为一个元素。数组中每一个元素的序号称为下标。数组中的所有元素在内存中是连续存放的。,2数组,58,格式:DIMENSION|DECLARE(,)功能:定义一维或多维数组说明:1)数组定义后系统自动为每一个元素赋逻辑假.F.。2)数组有一个下标称为一维数组,有二个下标称为二维数组。3)数组的最小下标为1。4)数组的类型可以通过使用加以改变,同一数组的元素类型可以不同。,数组的定义,59,5)当在赋值、输入命令中只用数组名时,表示数组的所有元素有同一个值。6)数组名不能与简单变量重名。7)由于数组各元素在内存中是

25、连续存放的,二维数组可作为一维数组来使用。8)数组与后面章节中的表可相互传递数据。9)数组中的每一个元素是简单变量,因为简单变量所有的功能数组元素都具备,简单变量使用的场合数组元素都是用。,60,例1.5 一维数组的应用。dimension a(5),b(5)a=10a(5)=23b(1)=2*a(1)b(3)=中国b(4)=2005-10-6b(5)=$123.2?a(1),a(2),a(3),a(4),a(5)?b(1),b(2),b(3),b(4),b(5),61,(1)内存变量的显示格式:LIST|DISPLAY MEMORY LIKE TO PRINT|TO FILE 功能:显示内存

26、变量的名、作用域、类型、值。说明:1)like子句是显示与通配符相匹配的内存变量信息。通配符有?与*,?表示一个任意字符,*表示多个任意字符。2)to print子句是将显示内存变量的信息同时从打印机输出。3)to file 子句是将显示内存变量的信息同时存入由文件名指定的文件中。4)list不管显示的信息有多少,都一次显示完。5)display显示的信息多于一屏时,分屏显示。每显示一屏就暂停下来,待用户按任意键后继续显示。,3内存变量的显示与释放,62,格式1:CLEAR MEMORY格式2:RELEASE 格式3:RELEASE ALL EXTENDED格式4:RELEASE ALL LI

27、KE|EXCEPT 功能:格式1释放所有内存变量。格式2释放由内存变量表指定的内存变量。格式3释放所有内存变量,无任何选项释放所有内存变量,在程序中要选extended,否则不能释放公共变量。格式4当选like 时,释放与相匹配的内存变量;当选except 时,释放与不相匹配的内存变量。,(2)内存变量的释放,63,例1.7 内存变量的显示与应用,a=2abc=6b=中国a1=哈尔滨dimension c(3)c(1)=2005-10-20c(2)=22display memory like a?to file qq1display memory like a*to file qq2relea

28、se all like a*display memory like a*release all,64,1.3.3 运算符与表达式,VFP的运算符主要有六种:算术运算符字符串运算符关系运算符逻辑运算符日期与日期时间运算符宏替换运算符,65,1、算术运算符与表达式,算术运算符要求它的的操作数必须为数值。由算术运算符与操作数连接的式子为算术表达式,算术表达式的运算结果为数值。表1.2 算术运算符与表达式,66,例1.8 算术运算符与表达式的应用,x=2y=3?(x+2)*y%6-x,67,字符串运算符用于多个字符串相连接。它的操作数是字符串。由字符串运算符连接起来的式子为字符串表达式。,2、字符串运

29、算符,68,表1.3 字符串运算符与表达式,69,例1.9 字符串运算符与表达式的应用,a=黑龙江 b=哈尔滨 c=东方学院?a+b+c?a-b-c,70,3、关系运算符与表达式,关系运算符用于操作数之间进行关系比较,它的操作数是同类型的。由关系运算符连接起来的式子为关系表达式。关系表达式的结果是逻辑值。若关系成立,结果为真,否则为假。,71,表1.4 关系运算符与表达式,72,例1.10 关系运算符与表达式的应用,clearx=2y=3?x+3=2,x!=y,xyx=abcdey=abz=cd?x=y,x=y,z$x,x!=y,73,4、逻辑运算符与表达式,逻辑运算符用于对操作数进行逻辑运算

30、。由逻辑运算符连接起来的式子为逻辑表达式。当逻辑表达式成立时,结果为.T.,否则结果为假.F.。表1.5 逻辑运算符,74,逻辑运算真值表,75,例1.11 逻辑表达式的应用,a=中国黑龙江b=黑龙江c=3?b$a and c3,76,日期、日期时间运算符可以对操作对象进行加、减运算。用这种运算符连接起来的式子为日期、日期时间表达式。,5 日期、日期时间运算符与表达式,77,表1.6 日期时间运算符与表达式,78,例1.12 日期、日期时间运算符及表达式的应用。,a=2005-11-20b=10?a+b,b+a,2005-12-20+10,a-10c=2005-11-20 10:30:30 a

31、d=2005-11-20 10:20:10 a?c+10,10+d,c-10,c-d,79,1.3.4 常用函数,函数是一段程序代码,用来进行一些特定的运算或操作,支持和完善命令的功能,帮助用户完成各种操作与管理。按函数提供方式,可分为系统函数和用户自定义函数。按函数运算、处理对象和结果的数据类型,可分为数值型函数、字符型函数、逻辑型函数、日期时间型函数、数据转换函数等。,80,1、系统函数的形式函数名(形参表)2、函数的返回值函数经过运算所得结果称为函数的返回值3、常用函数的分类通常将常用的函数分为数值函数、字符处理函数、日期和时间函数、数据类型转换函数、测试函数五种。,81,4、常用函数,

32、数值函数字符函数日期和时间函数数据类型转换函数测试函数,82,(1)数值函数,1)绝对值函数格式:ABS()功能:求数值表达式的绝对值例1.14 ABS的应用x=-2?abs(x),abs(10+x),abs(2+x),abs(2*x),83,2)符号函数格式:SIGN(数值表达式)功能:返回数值表达式的值的符号,当数值表达式的值为正、负、0时函数分别为1,-1,0例1.15 SIGN的应用x=3?sign(x),sign(-1),sign(x-3),84,3)圆周率函数格式:PI()功能:返回圆周率。例1.16 PI()的应用s=pi()*10*10?“s=”,s,85,4)求平方根函数格式

33、:SQRT()功能:返回数值表达式值得平方根,数值表达式的值不能为负。例1.17 SQRT()的应用x=-4y=2.22?sqrt(abs(-4),sqrt(10+y),86,5)求整数函数格式:INT()功能:INT()返回数值表达式的整数值例1.18 求整数函数的应用x=3.9?int(x),int(-x),87,6)四舍五入函数格式:ROUND(,)功能:对数值表达式1四舍五入,保留数值表达式2的值所制定的位数例1.19 ROUND()函数的应用x=123.456?round(x,2),round(x,1),round(x,0),round(x,-1),88,7)求余函数格式:MOD(,

34、)功能:返回数值表达式1除以数值表达式2的余数,且余数的符号与除数相同。若数值表达式1与数值表达式2同号,函数值为两数的余数。若异号,函数值为两数的余数再加上除数的值。例1.20 MOD()应用x=10?mod(x,4),mod(x,-4),mod(-x,4),mod(-x,-4),89,8)求最大值函数格式:MAX(,)功能:求数值表达式1,数值表达式2,数值表达式3中的最大值9)求最小值函数格式:MIN(,)功能:求数值表达式1,数值表达式2,数值表达式3中的最小值例1.21 MAX()的应用x=10?max(2,10,-2,20,9,x),90,10)求e的函数格式:EXP()功能:求e

35、的数值表达式例1.22 exp()的应用?exp(2),91,(2)字符函数,1)求字符串长度函数格式:LEN()功能:返回字符表达式的长度例1.23 len()的应用x=“中国哈尔滨”y=“china”?len(x),len(y),92,2)大小写转换函数格式:LOWER()UPPER()功能:LOWER()是将字符表达式中的大写字母转为小写字母UPPER()是将字符表达式中的小写字母转为大写字母例1.24 lower(),upper()的应用x=“123study hard”?lower(x),upper(x),93,3)空格字符串生成函数格式:space()功能:返回由数值表达式值指定数

36、目的空格例1.25 space()的应用x=“We”y=“are”z=“students.”?x+space(2)+y+space(2)+z,94,4)删除前导尾部空格函数格式:TRIM()LTRIM()ALLTRIM()功能:TRIM()将字符表达式的值的尾部空格去掉LTRIM()将字符表达式的值的前导空格去掉ALLTRIM()将字符表达式的值的前导与尾部空格同时去掉例1.26 TRIM(),LTRIM(),ALLTRIM()的应用a=“中国”b=“首都“c=“北京“d=a+b+c?a,b,c,d?trim(a)+ltrim(b)+alltrim(c),95,5)子串函数格式:LEFT(,)

37、RIGHT(,)SUBSTR(,)功能:LEFT()从字符表达式的左端开始取N个字符。RIGHT()从字符表达式的右端开始取N个字符。SUBSTR()从字符表达式的第N1个位置开始取N2字符。若N2省略,取到最后一个字符。例1.27 LEFT(),RIGHT(),SUBSTR()的应用x=“中国北京首都”?left(x,4)+right(x,4)+substr(x,5,4),96,6)求子串位置函数格式:AT(,)功能:AT()若字符表达式1为字符表达式2的子串时,则返回字符表达式1的首字符在字符表达式2中的位置。否则返回0。数值表达式3是字符表达式1在字符表达式2中第几次出现,默认值为1。例

38、1.28 AT()的应用x=“This is computer.The computer is our friend.”?at(“is”,x),at(“is”,x,3),at(“The”,x),97,(3)日期和时间函数,1)日期函数 格式:DATE()功能:返回当前系统日期2)时间函数 格式:TIME()功能:返回当前系统时间3)日期时间函数格式:DATETIME()功能:返回当前系统日期与时间4)求天数函数格式:DAY(|)功能:返回天数5)年份函数格式:YEAR(|)功能:返回年份,98,6)月份函数格式:MONTH(|)功能:返回月份7)小时函数格式:HOUR()功能:返回小时8)分函

39、数格式:MINUTE()功能:返回分钟9)秒函数格式:SEC()功能:返回秒数,99,例1.29 日期和时间函数的应用x=2005-10-2 01:30:28 am?date(),time(),datetime(),day(datetime()?year(x),month(x),hour(x),minute(x),sec(x),100,(4)数值类型转换函数,1)数值转换成字符型函数格式:STR(,N)功能:将数值表达式转为长度为L,小数位数为N的字符串。例1.30 STR()的应用x=-1.278?str(x,8,2),str(x,2),101,2)字符串转为数值函数格式:VAL()功能:将

40、字符表达式值转为数值例1.31 VAL的应用x=“-12.45”y=“b2.6”?val(x),val(y),102,3)将字符串转为日期或时间函数格式:CTOD()CTOT()功能:CTOD()将字符表达式转为日期型数据CTOT()将字符表达式转为日期时间型数据例1.32 CTOD()与CTOT()的应用?ctod(“10/2/2005”),ctot(“10/2/2005 10:30:51 am”),103,4)日期时间转为字符型数据格式:DTOC(|,1)TTOC(,1)功能:DTOC()将日期表达式或日期时间表达式转为字符型数据,若选1则字符格式YYYYMMDD共8个字符。TTOC()将

41、日期时间表达式转为字符型数据,若选1则字符格式YYYYMMDD-HHMMSS共14个字符例1.33 DTOC()与TTOC()的应用?dtoc(date(),ttoc(datetime(),104,(5)测试函数,1)值域测试函数格式:BETWEEN(,)功能:若表达式1值大于等于表达式2且小于等于表达式3时,函数返回.T.,否则返回.F.。若表达式2,表达式3有一个为NULL,则函数返回NULL。例1.34 BETWEEN()的应用x=100?between(x,10,200),between(x,1,20),between(x,NULL,300),105,2)空值测试函数格式:ISNULL

42、()功能:若表达式值为NULL,函数返回.T.,否则返回.F.。例1.35 ISNULL()的应用x=nully=3?isnull(x),isnull(y),106,3)“空”值测试函数格式:EMPTY()功能:若表达式值为空,函数返回.T.,否则返回.F.。说明:数值型、双精度、货币、浮点、整型为0就认为空。字符型空串、空格、制表、回车、换行认为空。备注型无内容认为空。逻辑型为.F.,日期、日期时间型为空时,认为空。如CTOD(“”),CTOT(“”)都认为空,107,4)数据类型测试函数格式:VARTYPE()功能:返回表达式的类型,用大写字母表示类型。C为字符型或备注行,N为数值型、整型

43、、浮点型、双精度型。Y为货币型,L为逻辑型,O为对象型,G为通用型,D为日期型,T为日期时间型,X为NULL值,U为未定义,108,例1.36 VARTYPE()应用a=“abc”b=2c=null?vartype(a),vartype(b),vartype,109,1.4 小结,本章主要介绍了数据库的发展与特点,数据库的基本知识,数据与数据运算。通过学习数据模型可知,关系数据模型就是一张二维表,它是建立在严格的数学概念基础上的,既简单又便于实现。掌握VFP的数据类型及常用函数,在进行数据运算时要严格区分常量、变量、表达式及应用规则,为今后应用VFP开发工具编制应用软件打下良好的基础。,110,习题与上机,P26:1、2,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号