《FOXPRO数据库基本知识.ppt》由会员分享,可在线阅读,更多相关《FOXPRO数据库基本知识.ppt(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二、三、四章第二、三、四章 FoxProFoxPro数据库基本知识数据库基本知识 基本掌握基本掌握基本掌握基本掌握以下数据库的基本知识:以下数据库的基本知识:n n1 1、FoxProFoxPro系统的主要功能、文件类型和操作方式;系统的主要功能、文件类型和操作方式;n n2 2、数据类型;、数据类型;n n3 3、变量、数组、变量、数组、函数、运算符及表达式函数、运算符及表达式n n4 4、FoxProFoxPro的命令结构使用规则的命令结构使用规则学习要求学习要求 1 FoxPro简介FoxProFoxPro是一个关系型数据库管理系统是一个关系型数据库管理系统是一个关系型数据库管理系统是
2、一个关系型数据库管理系统(DBMS)DBMS)。1 1、FoxProFoxPro发展简史发展简史 FoxBase 1.0(1984)FoxBase Plus 1.0(1986)FoxBase plus 2.0(1987)Foxplus Plus 2.1(1988)(字符界面字符界面)FoxPro 1.0(1989)FoxPro 2.0(1991)(仿仿Windows界面界面)Foxpro 2.5(1993)FoxPro 2.6(1994)Visual FoxPro 3.0(1996)Visual FoxPro 4.0(1997)Visual FoxPro 5.0(1998)Visual Fox
3、pro 6.0(1999)(Windows界面界面)Microsoft公司2、FoxPro系统功能系统功能(略略)见见P283、FoxPro系统界面系统界面1.“文件文件”菜单菜单2.“编辑编辑”菜单菜单3.“查看查看”菜单菜单4.“格式格式”菜单菜单5.“工具工具”菜单菜单6.“程序程序”菜单菜单7.“窗口窗口”菜单菜单8.“帮助帮助”菜单菜单9.“表单表单”菜单菜单10.“报表报表”菜单菜单11.“表表”菜单菜单12.“数据库数据库”菜单菜单 菜单栏菜单栏工具栏工具栏1.标准工具栏按钮标准工具栏按钮2.定制工具栏定制工具栏设计器设计器表设计器:创建表并设置索引表设计器:创建表并设置索引查询
4、设计器:在表中进行查询查询设计器:在表中进行查询视图设计器:在数据表中进行查询并可更新数据视图设计器:在数据表中进行查询并可更新数据表单设计器:创建表单表单设计器:创建表单报表设计器:建立用于显示和打印数据的报表报表设计器:建立用于显示和打印数据的报表数据库设计器:建立数据库,在表之间建立关联数据库设计器:建立数据库,在表之间建立关联连接设计器:为远程视图创建连接连接设计器:为远程视图创建连接向导向导向导是一个交互式程序,可以帮助快速完成一般性的任务,如创建数据表、表单等。VFP的主要向导:(1)应用程序向导(2)交叉表向导(3)数据库向导(4)表单向导(5)标签向导(6)报表向导(7)查询向
5、导4、FoxPro操作方式操作方式1)1)1)1)菜单方式菜单方式菜单方式菜单方式2)2)2)2)单命令方式单命令方式单命令方式单命令方式?字符串字符串 ;显示文字信息;显示文字信息?数值表达式数值表达式 ;计算并显示表达式值;计算并显示表达式值?DATE()DATE();显示当前日期显示当前日期?TIME()TIME();显示当前时间显示当前时间 Clear Clear ;清工作区清工作区 DIR DIR 盘符盘符路径路径 ;显示磁盘目录清单;显示磁盘目录清单(允许带通配符允许带通配符)Quit Quit ;退出退出FoxProFoxPro系统系统3)3)3)3)程序方式程序方式程序方式程序
6、方式(命令文件方式命令文件方式命令文件方式命令文件方式)MODIMODICOMMCOMMS S s=0for x=1 to 4s=s+xnext x?s5、常用、常用FoxPro文件类型文件类型n n.DBF DBF 数据库文件,保存表的结构及其内容。数据库文件,保存表的结构及其内容。n n.FPT FPT 备注文件,保存备注与通用型字段数据。备注文件,保存备注与通用型字段数据。n n.IDX IDX 单索引文件,保存单个索引标识及数据的单索引文件,保存单个索引标识及数据的文件。文件。n n.CDX CDX 复合索引文件,保存多个索引标识及数据复合索引文件,保存多个索引标识及数据的文件。的文件
7、。n n.PRG PRG 命令文件命令文件(或程序文件或程序文件),存储用,存储用FoxProFoxPro语语言编写的程序的文件。言编写的程序的文件。n n.FXP FXP 命令文件,存储经过伪编译过命令文件,存储经过伪编译过FoxProFoxPro语言语言程序的文件。程序的文件。2 FoxPro基本概念 2.1 2.1 FoxPro 6.0FoxPro 6.0数据类型数据类型1 1、数值型数值型(Numeric)Numeric):表示事物量的多少值,由正号表示事物量的多少值,由正号(+)(+)、负、负号号(-)(-)、阿拉伯数字、小数点组成。、阿拉伯数字、小数点组成。最大长度最大长度2020
8、位位(包括正负号、小数点位数包括正负号、小数点位数)例如:例如:+1234.56+1234.56 或或 1234.56 1234.56 -12345.67 -12345.67 备注:备注:FoxPro 2.5FoxPro 2.5以后版本还提供了以后版本还提供了“浮点型浮点型(Float)Float)”、”双精度双精度(Double)Double)”、”整数型整数型(Integer)Integer)”、货币型数据货币型数据(Currency)等数值型数据类型。等数值型数据类型。2 2 2 2、字符型字符型字符型字符型(Character)Character)Character)Character
9、):由中文字符、英文字符、数字符号、由中文字符、英文字符、数字符号、由中文字符、英文字符、数字符号、由中文字符、英文字符、数字符号、空格、特殊符号等可打印字符组成的序列空格、特殊符号等可打印字符组成的序列空格、特殊符号等可打印字符组成的序列空格、特殊符号等可打印字符组成的序列(字符串字符串字符串字符串)。字符串最大长度:字符串最大长度:字符串最大长度:字符串最大长度:254254254254个字符或个字符或个字符或个字符或127127127127个汉字个汉字个汉字个汉字 字符定界符:双引号字符定界符:双引号字符定界符:双引号字符定界符:双引号(”)或单引号或单引号或单引号或单引号()例如:例如
10、:玉环县教师进修学校玉环县教师进修学校 玉环县教师进修学校玉环县教师进修学校 XinyangXinyang Teachers Teachers College College”我有一盒我有一盒5.255.25”软磁盘软磁盘 注意注意注意注意:这里的双引号与单引号是:这里的双引号与单引号是:这里的双引号与单引号是:这里的双引号与单引号是“半角半角半角半角”字符;字符;字符;字符;定界符应首尾声尾一致。定界符应首尾声尾一致。定界符应首尾声尾一致。定界符应首尾声尾一致。3.3.日期型日期型(Date)Date):表示日期的特殊数据表示日期的特殊数据。默认格式:默认格式:默认格式:默认格式:mm/mm
11、/mm/mm/dddddddd/yy yy yy yy 或或或或 mm/mm/mm/mm/dddddddd/yyyyyyyyyyyyyyyy 月月/日日/年年 例如例如例如例如:5/15/00:5/15/00:5/15/00:5/15/00 或或或或 05/15/2000 05/15/2000 05/15/2000 05/15/2000 5/15/98 5/15/98 5/15/98 5/15/98 或或或或 5/15/1998 5/15/1998 5/15/1998 5/15/1998注意:注意:注意:注意:(1)(1)(1)(1)FoxProFoxProFoxProFoxPro在显示日期型
12、数据时通常只显示年的两位。在显示日期型数据时通常只显示年的两位。在显示日期型数据时通常只显示年的两位。在显示日期型数据时通常只显示年的两位。欲显示欲显示欲显示欲显示4 4 4 4位年号,可用如下命令:位年号,可用如下命令:位年号,可用如下命令:位年号,可用如下命令:set century on set century on set century on set century on ;显示世纪显示世纪显示世纪显示世纪 set century off set century off set century off set century off ;不不不不显示世纪显示世纪显示世纪显示世纪 (2)
13、(2)(2)(2)可用可用可用可用set date set date set date set date ymdymdymdymd改变为中国格式改变为中国格式改变为中国格式改变为中国格式(3)(3)(3)(3)字符型日期转日期型的函数:字符型日期转日期型的函数:字符型日期转日期型的函数:字符型日期转日期型的函数:ctodctodctodctod(”mm/mm/mm/mm/dddddddd/yyyyyyyyyyyyyyyy”)或用或用或用或用mm/mm/mm/mm/dddddddd/yyyyyyyyyyyyyyyy备注:备注:备注:备注:FoxPro 3.0FoxPro 3.0FoxPro 3.
14、0FoxPro 3.0以后版本还提供了以后版本还提供了以后版本还提供了以后版本还提供了“日期时间型日期时间型日期时间型日期时间型(DateTimeDateTimeDateTimeDateTime)”格式:格式:格式:格式:mm/mm/mm/mm/dddddddd/yyy hhyyy hhyyy hhyyy hh:mm:mm:mm:mm:ss ss ss ss 例如:例如:例如:例如:01/23/2000 01/23/2000 01/23/2000 01/23/2000 10:25:3310:25:3310:25:3310:25:334.4.逻辑型逻辑型(Logic)Logic):表示逻辑判断结
15、果的值。表示逻辑判断结果的值。只有两种值只有两种值:真:真:.T.(True)T.(True)或或.Y.(Yes)Y.(Yes)假:假:.F.(False)F.(False)或或.N.(No)N.(No)固定长度:固定长度:1 1位位5.备注型备注型(Memo):超长字符型数据。超长字符型数据。超长字符型数据。超长字符型数据。字符串最大长度:没有规定,仅受磁盘空间限制。字符串最大长度:没有规定,仅受磁盘空间限制。字符串最大长度:没有规定,仅受磁盘空间限制。字符串最大长度:没有规定,仅受磁盘空间限制。只能用于定义字段类型。只能用于定义字段类型。只能用于定义字段类型。只能用于定义字段类型。6.通用
16、型通用型(General):存放存放存放存放OLE(OLE(OLE(OLE(对像链接与嵌入对像链接与嵌入对像链接与嵌入对像链接与嵌入)对象数据对象数据对象数据对象数据(如图形、如图形、如图形、如图形、声音、电子表格、声音、电子表格、声音、电子表格、声音、电子表格、WordWordWordWord文档等文档等文档等文档等)。只能用于定义字段类型。只能用于定义字段类型。只能用于定义字段类型。只能用于定义字段类型。1.1.常量常量 在命令或程序扫执行过程中,其值不能改变的量。在命令或程序扫执行过程中,其值不能改变的量。如如 2344.232344.23 ”中华人民共和国中华人民共和国”.T.F.T.
17、F.05/01/2001 05/01/2001 FoxPro FoxPro常量有如下数据类型:常量有如下数据类型:字符型、数值型、逻辑型、日期型字符型、数值型、逻辑型、日期型 注意:注意:没有备注型、通用型。没有备注型、通用型。2.2.变量变量 在命令或程序扫执行过程中,其值可以改变的量。在命令或程序扫执行过程中,其值可以改变的量。变量有四种属性:变量名、变量的数据类型、变量值,变量变量有四种属性:变量名、变量的数据类型、变量值,变量长度。长度。2.2常量与变量常量与变量(1)(1)变量命名规则变量命名规则 变量名由汉字、英文字母、数字符号和下划线等字符变量名由汉字、英文字母、数字符号和下划线
18、等字符组成;组成;变量名必须以汉字、英文字母或下划线开头;变量名必须以汉字、英文字母或下划线开头;变量名中间不允许出现空格;变量名中间不允许出现空格;变量名最长变量名最长1010个字符;个字符;例如:正确的变量名:姓名、例如:正确的变量名:姓名、XingMingXingMing、年年19991999、_ _systemsystem 错误的变量名:错误的变量名:XingXing Ming Ming、19991999年年 a*ba*b(2)(2)变量种类变量种类 字段变量字段变量:变量的值保存在磁盘上的数据库文件中。:变量的值保存在磁盘上的数据库文件中。字符型、数值型、日期型、逻辑型、备注型、通用
19、型字符型、数值型、日期型、逻辑型、备注型、通用型内存变量的赋值内存变量的赋值 STORE STORE to to =说明:变量在赋值之前不需事先定义。说明:变量在赋值之前不需事先定义。示例示例:B=6 STORE B+3 TO C STORE“中国”TO A,B,C显示变量的值显示变量的值?;计算各表达式值并换行显示结果;计算各表达式值并换行显示结果?;计算各表达式值并从当前光标位置显示结果;计算各表达式值并从当前光标位置显示结果示例示例:?B?C?A,B,C表达式之间用逗号分隔变量之间用逗号分隔内存变量内存变量:变量的值保存在内存中。:变量的值保存在内存中。(字符型、数值型、日期型、逻辑型字
20、符型、数值型、日期型、逻辑型)LIST/DISPLAY MEMORY LIKE TO PRINTER/TO FILE ;显示或所有内存变量有关信息显示或所有内存变量有关信息说明说明:通配符指“?”和“*”的扩展名为.TXT LIST和DISPLAY区别为:LIST连续显示;DISPLAY分页显示。示例示例:A=“中国”A1=5 LIST MEMORY LIKE A*格式:格式:SAVETO/TOMEMOALLLIKE/ALLEXCEPT说明:内存变量文件的扩展名为.MEM示例:SAVE TO AA SAVE TO MM ALL LIKE X*SAVE TO BB ALL EXCEPT?Y建立内
21、存变量文件建立内存变量文件内存变量文件的调入内存变量文件的调入格式:格式:RESTOREFROM/FROMMEMOADDITIVE示例:RESTORE FROM MM RESTORE FROM BB ADDITIVE格式:RELEASE 或 RELEASE ALL LIKE/EXCEPT 或 CLEAR MEMORY或 CLEAR ALL说明:释放指定的内存变量,但不清除系统内存变量;CLEAR ALL在关闭所有文件的同时清除所有的内存变量。示例:RELEASE ALL RELEASE X,Y,Z RELEASE ALL LIKE A*释放内存变量释放内存变量注:注:当内存变量名与字段变量名相
22、同内存变量名与字段变量名相同时,字段名优先于内存变量名,使用时可以在内存变量名前加上“M-”以示区别,但赋值时不能使用该前缀。数组变量数组变量:是一种特殊的内存变量。它是名字相同而下标不:是一种特殊的内存变量。它是名字相同而下标不同的一组有序的变量,其中每个有序变量,即构成数组的成员,同的一组有序的变量,其中每个有序变量,即构成数组的成员,称为数组元素,称为数组元素,每个数组元素都可以通过一个数值下标被引用,每个数组元素都可以通过一个数值下标被引用,相当于一个内存变量相当于一个内存变量。格式:格式:DIMENSION/DECLARE(,),(,)说明说明:为数组下标,对一维数组来说,指的是数组
23、元为数组下标,对一维数组来说,指的是数组元素的个数;对二维数组来说,指的是数组的最大行号和最大列号。素的个数;对二维数组来说,指的是数组的最大行号和最大列号。数组的下标允许使用圆括号或方括号括起来数组的下标允许使用圆括号或方括号括起来在同一个数组中,不同的数组元素数据类型可以不同。在同一个数组中,不同的数组元素数据类型可以不同。数组一旦被定义之后,该数组的每个元素的初值为逻辑假值,可以数组一旦被定义之后,该数组的每个元素的初值为逻辑假值,可以使用有关的命令给数组元素赋值。使用有关的命令给数组元素赋值。示例示例:DIMENSIONAB(3),C2,3 数组的定义数组的定义 数组的赋值数组的赋值数
24、数组组元元素素的的赋赋值值与与普普通通内内存存变变量量一一样样,可可以以通通过过STORE命命令或令或“=”来实现。来实现。示例示例:给二维数组给二维数组X和一维数组和一维数组Y进行赋值。进行赋值。DIMENSIONX(3,4),Y(3)STORE5TOXY(1)=325Y(2)=“ABC”Y(3)=.T.数组的重定义数组的重定义I、数组的数组的重定义重定义:使用:使用DECLARE或或DIMENSION命命令对已定义好的数组的尺寸和维数进行改变,即将一维数令对已定义好的数组的尺寸和维数进行改变,即将一维数组变为二维数组或将二维数组变为一维数组,并且可以改组变为二维数组或将二维数组变为一维数组
25、,并且可以改变数组元素的个数,同时将原数组的数据自动复制到重定变数组元素的个数,同时将原数组的数据自动复制到重定义的同名数组义的同名数组(新数组新数组)中。中。II、数数据据的的复复制制原原则则:把把原原数数组组和和新新数数组组都都看看作作是是一一维维的的;将将原原数数组组中中的的数数据据从从序序号号1开开始始顺顺序序地地复复制制到到新新数数组组对对应应的的数数组组元元素素中中去去;若若新新数数组组的的元元素素个个数数多多于于原原数数组组的的元元素素个个数数,则则新新增增加加的的数数组组元元素素取取值值为为.F,反反之之,只只取原数组中的前若干个值。取原数组中的前若干个值。III、数数组组下下
26、标标的的排排列列规规则则:数数组组从从下下标标1开开始始排排列列,二维数组的元素排列是先按行排,后按列排。二维数组的元素排列是先按行排,后按列排。示示例例:己己定定义义了了数数组组A(6)与与数数组组B(2,3),它它们们对对应应的的下下标排列如下:标排列如下:A(6):A(1),A(2),A(3),A(4),A(5),A(6)B(2,3):B(1,1),B(1,2),B(1,3),B(2,1),B(2,2),B(2,3)数组的重定义数组的重定义数组的释放数组的释放数数组组的的释释放放:将将数数组组从从内内存存中中删删除除,释释放放其其所所占占的的内内存存空空间,就是数组的释放。间,就是数组的
27、释放。命令格式命令格式:格式格式1:CLEARALL功功能能:关关闭闭所所有有文文件件,同同时时清清除除所所有有的的内内存存变变量量、数数组组等等,但不清除系统内存变量。但不清除系统内存变量。格式格式2:CLEARMEMORY功功能能:清清除除所所有有内内存存中中的的变变量量和和数数组组,但但不不清清除除系系统统内内存存变量。变量。格式格式3:RELEASE或或RELEASEALLLIKE/EXCEPT功功能能:清清除除指指定定的的内内存存变变量量或或数数组组,但但不不清清除除系系统统内内存存变变量。量。系统变量系统变量:系统自动建立并维护的内存变量。均以下划线:系统自动建立并维护的内存变量。
28、均以下划线“”字符开头,常用来控制屏幕显示和报表显示。字符开头,常用来控制屏幕显示和报表显示。2.3 2.3 运算符及表达式运算符及表达式2.3.12.3.1数值运算符及数值表达式数值运算符及数值表达式数值运算符及数值表达式数值运算符及数值表达式2.3.22.3.2字符串运算符及字符表达式字符串运算符及字符表达式字符串运算符及字符表达式字符串运算符及字符表达式2.3.32.3.3日期运算符及日期表达式日期运算符及日期表达式日期运算符及日期表达式日期运算符及日期表达式2.3.42.3.4关系运算符及关系表达式关系运算符及关系表达式关系运算符及关系表达式关系运算符及关系表达式2.3.52.3.5逻
29、辑运算符及逻辑表达式逻辑运算符及逻辑表达式逻辑运算符及逻辑表达式逻辑运算符及逻辑表达式(1 1)数值运算符数值运算符数值运算符数值运算符:圆括号()、乘方(:圆括号()、乘方(:圆括号()、乘方(:圆括号()、乘方(*或或或或)、乘()、乘()、乘()、乘(*)、)、)、)、除(除(除(除(/)、模运算或取余()、模运算或取余()、模运算或取余()、模运算或取余(%)、加()、加()、加()、加(+)、减()、减()、减()、减(-)(2 2)数值表达式数值表达式数值表达式数值表达式:由数值运算符将数值型常量、变量、函:由数值运算符将数值型常量、变量、函:由数值运算符将数值型常量、变量、函:由
30、数值运算符将数值型常量、变量、函数等连接起来的式子,其结果为数值型。数等连接起来的式子,其结果为数值型。数等连接起来的式子,其结果为数值型。数等连接起来的式子,其结果为数值型。(3 3)运算符的)运算符的)运算符的)运算符的优先顺序优先顺序优先顺序优先顺序:括号、乘方、乘除与取模、加减:括号、乘方、乘除与取模、加减:括号、乘方、乘除与取模、加减:括号、乘方、乘除与取模、加减示例示例示例示例:5+75+7,70/(5+2)70/(5+2),7*8*27*8*22.3.1数值运算符及数值表达式数值运算符及数值表达式(1)运算符运算符:对相同类型数据进行运算操作的符号。:对相同类型数据进行运算操作的
31、符号。(2)表达式表达式:用运算符将常量、变量、函数等数据连接起:用运算符将常量、变量、函数等数据连接起来的式子,包括运算符和运算对象以及括号。来的式子,包括运算符和运算对象以及括号。(1 1)字符串运算符字符串运算符字符串运算符字符串运算符:完全连接运算符(:完全连接运算符(:完全连接运算符(:完全连接运算符(+)、不完全连接运算符)、不完全连接运算符)、不完全连接运算符)、不完全连接运算符(-)、字符串包含运算符()、字符串包含运算符()、字符串包含运算符()、字符串包含运算符($)和精确比较运算符)和精确比较运算符)和精确比较运算符)和精确比较运算符(=)(=)。说明说明说明说明:完全连
32、接运算符完全连接运算符完全连接运算符完全连接运算符:两个字符串的简单连接;:两个字符串的简单连接;:两个字符串的简单连接;:两个字符串的简单连接;不完全连接运算符不完全连接运算符不完全连接运算符不完全连接运算符:当第一个字符串的尾部有空格时,将:当第一个字符串的尾部有空格时,将:当第一个字符串的尾部有空格时,将:当第一个字符串的尾部有空格时,将第一个字符串尾部的空格移到第二个字符串的尾部,然后,再第一个字符串尾部的空格移到第二个字符串的尾部,然后,再第一个字符串尾部的空格移到第二个字符串的尾部,然后,再第一个字符串尾部的空格移到第二个字符串的尾部,然后,再将两个字符串连接起来。将两个字符串连接
33、起来。将两个字符串连接起来。将两个字符串连接起来。(2 2 2 2)字符表达式字符表达式字符表达式字符表达式:由字符串运算符将字符型常量、变量、函由字符串运算符将字符型常量、变量、函由字符串运算符将字符型常量、变量、函由字符串运算符将字符型常量、变量、函数等连接起来的式子。数等连接起来的式子。数等连接起来的式子。数等连接起来的式子。示例示例示例示例:?“?“abcabc”+”+”bcdbcd”?”?”abcabc”-”-”bcdbcd”2.3.2字符串运算符及字符表达式字符串运算符及字符表达式(1 1)关系运算符关系运算符关系运算符关系运算符:小于:小于:小于:小于()()()、等于、等于、等
34、于、等于(=)(=)、不等、不等、不等、不等于于于于(、#或或或或!=)!=)、小小小小于于于于等等等等于于于于(=)(=)(=)、包包包包含含含含($)$)、精确比较()。精确比较()。精确比较()。精确比较()。(2 2)关系表达式关系表达式关系表达式关系表达式:由关系运算符、数值表达式、字符表:由关系运算符、数值表达式、字符表:由关系运算符、数值表达式、字符表:由关系运算符、数值表达式、字符表达式或日期表达式组合而成的式子,返回结果为逻辑值。达式或日期表达式组合而成的式子,返回结果为逻辑值。达式或日期表达式组合而成的式子,返回结果为逻辑值。达式或日期表达式组合而成的式子,返回结果为逻辑值
35、。(3 3)关系运算符的两边关系运算符的两边关系运算符的两边关系运算符的两边,可以是字符表达式、数值表达,可以是字符表达式、数值表达,可以是字符表达式、数值表达,可以是字符表达式、数值表达式或者日期表达式,但两边的数据类型必须一致才能进式或者日期表达式,但两边的数据类型必须一致才能进式或者日期表达式,但两边的数据类型必须一致才能进式或者日期表达式,但两边的数据类型必须一致才能进行比较。行比较。行比较。行比较。示例示例示例示例:“A”“B”A”“B”、“A”=“B”“A”=“B”“A”=“B”“A”=“B”、“A”“B”“A”“B”、5+685+682.3.3关系运算符及关系表达式关系运算符及关
36、系表达式“book”$”bookstore”“book”$”bookstore”、“the”$“this”“the”$“this”、“that”=”that”“that”=”that”、”that”=”that”that”=”that”(1 1)逻辑运算符逻辑运算符逻辑运算符逻辑运算符:逻辑非(:逻辑非(:逻辑非(:逻辑非(.NOT.NOT.)、)、)、)、逻辑与(逻辑与(逻辑与(逻辑与(.AND.AND.)、)、)、)、逻逻逻逻辑或(辑或(辑或(辑或(.OR.OR.)(2 2)逻辑表达式逻辑表达式逻辑表达式逻辑表达式:由逻辑运算符、逻辑型常量、逻辑型内存:由逻辑运算符、逻辑型常量、逻辑型内存
37、:由逻辑运算符、逻辑型常量、逻辑型内存:由逻辑运算符、逻辑型常量、逻辑型内存变量、逻辑型数组、返回逻辑型数据的函数和关系表达式组变量、逻辑型数组、返回逻辑型数据的函数和关系表达式组变量、逻辑型数组、返回逻辑型数据的函数和关系表达式组变量、逻辑型数组、返回逻辑型数据的函数和关系表达式组成,结果为逻辑型常量。成,结果为逻辑型常量。成,结果为逻辑型常量。成,结果为逻辑型常量。(3 3)运算规则运算规则运算规则运算规则:进行:进行:进行:进行逻辑与逻辑与逻辑与逻辑与运算时,当参加运算的双方都为运算时,当参加运算的双方都为运算时,当参加运算的双方都为运算时,当参加运算的双方都为真值时,运算结果为真值,否
38、则为假值;进行真值时,运算结果为真值,否则为假值;进行真值时,运算结果为真值,否则为假值;进行真值时,运算结果为真值,否则为假值;进行逻辑或逻辑或逻辑或逻辑或运算时,运算时,运算时,运算时,当参加运算的双方都为假值时,运算结果为假值,否则为真当参加运算的双方都为假值时,运算结果为假值,否则为真当参加运算的双方都为假值时,运算结果为假值,否则为真当参加运算的双方都为假值时,运算结果为假值,否则为真值;进行值;进行值;进行值;进行逻辑非逻辑非逻辑非逻辑非运算时,运算结果为原来的相反值。运算时,运算结果为原来的相反值。运算时,运算结果为原来的相反值。运算时,运算结果为原来的相反值。示例示例示例示例:
39、83.83.AND.810AND.8“C”.OR.“A”“C”.OR.“A”“C”.NOT.56.NOT.562.3.4逻辑运算符及逻辑表达式逻辑运算符及逻辑表达式(1 1)日期型运算符日期型运算符日期型运算符日期型运算符:加法:加法:加法:加法(+)(+)、减法、减法、减法、减法(-)(-)(2 2)日期表达式日期表达式日期表达式日期表达式:由日期运算符将日期型常量、变量、:由日期运算符将日期型常量、变量、:由日期运算符将日期型常量、变量、:由日期运算符将日期型常量、变量、函数等数据连接起来的式子,其返回结果为日期型或函数等数据连接起来的式子,其返回结果为日期型或函数等数据连接起来的式子,其
40、返回结果为日期型或函数等数据连接起来的式子,其返回结果为日期型或者数值型数据。者数值型数据。者数值型数据。者数值型数据。(3 3)日期表达式的几种)日期表达式的几种)日期表达式的几种)日期表达式的几种形式形式形式形式:+-示例示例示例示例:01/01/1996+2001/01/1996+2005/30/1998-05/20/199805/30/1998-05/20/199810/28/1995-2010/28/1995-202.3.5日期运算符及日期表达式日期运算符及日期表达式(1 1)名称表达式名称表达式:指能代替字符型变量或数组元素的值的:指能代替字符型变量或数组元素的值的一个引用。一个引
41、用。(2 2)定义一个名称时定义一个名称时,只能以字母、汉字或下划线开头,只能以字母、汉字或下划线开头,名称中只能使用字母、汉字、数字和下划线字符。名称中只能使用字母、汉字、数字和下划线字符。示例示例:运用名称表达式打开一个数据表文件。运用名称表达式打开一个数据表文件。STORE“C:VFPSTORE“C:VFP学生成绩学生成绩”TO AATO AA USE(AA)USE(AA)2.3.7名称表达式名称表达式2.3.6类与对象运算符类与对象运算符(1)点操作符(.):主要用于确定对象与类的关系,以及属性、事件和方法与其对象的从属关系。(2)作用域操作符(:):用于在子类中调用父类的方法。函数一
42、般格式:函数一般格式:函数一般格式:函数一般格式:函数名函数名函数名函数名()说明:说明:说明:说明:(1)(1)(1)(1)函数由函数名、圆括号、自变量构成函数由函数名、圆括号、自变量构成函数由函数名、圆括号、自变量构成函数由函数名、圆括号、自变量构成(2)(2)(2)(2)调用函数时,自变量的个数、顺序、数据类型一定要与函数要求的一致调用函数时,自变量的个数、顺序、数据类型一定要与函数要求的一致调用函数时,自变量的个数、顺序、数据类型一定要与函数要求的一致调用函数时,自变量的个数、顺序、数据类型一定要与函数要求的一致 (3)(3)(3)(3)当给定自变量值后,函数总是返回一个值。当给定自变
43、量值后,函数总是返回一个值。当给定自变量值后,函数总是返回一个值。当给定自变量值后,函数总是返回一个值。示例:示例:示例:示例:SQRT(SQRT(SQRT(SQRT();平方根函数;平方根函数;平方根函数;平方根函数?SQRTSQRTSQRTSQRT(4 4 4 4)2.4函数函数2.4 2.4 函数函数2.4.12.4.1字符处理函数字符处理函数字符处理函数字符处理函数2.4.22.4.2数值处理函数数值处理函数数值处理函数数值处理函数2.4.32.4.3日期和时间处理函数日期和时间处理函数日期和时间处理函数日期和时间处理函数2.4.42.4.4数据转换函数数据转换函数数据转换函数数据转换
44、函数2.4.52.4.5与数据表有关的函数与数据表有关的函数与数据表有关的函数与数据表有关的函数2.4.62.4.6显示位置函数显示位置函数显示位置函数显示位置函数2.4.72.4.7文件管理函数文件管理函数文件管理函数文件管理函数2.4.92.4.9系统函数系统函数系统函数系统函数SYSSYS()()()()2.4.82.4.8数组函数数组函数数组函数数组函数退出退出退出退出2.4.1字符处理函数字符处理函数1.1.宏代换函数宏代换函数&格式格式:&.功能:用字符型内存变量替换宏函数本身功能:用字符型内存变量替换宏函数本身示例示例:aa=“bb”bb=“北京北京”?aa,bb,&aa?“&b
45、b.是中国的首都是中国的首都”n=“567.83”?356.08+&n2.2.计算字符串长度函数计算字符串长度函数LEN()LEN()格式格式:LEN()示例示例:?LEN(“ABCDF”)?LEN(“ABCDF”)X=“首都经贸大学首都经贸大学”?LEN(X)3.3.生成空格函数生成空格函数SPACE()SPACE()格式格式:SPACE()示例示例:?“北京北京”+SPACE(3)+“首都首都”4.4.取子字符串函数取子字符串函数SUBSTR()SUBSTR()格格式式:SUBSTR(,)示例示例:?SUBSTR(“城市经济城市经济”,5,4)注:replicate(,)?repl(*,5
46、)5.5.字符串转换成小写字母函数字符串转换成小写字母函数LOWER()LOWER()格式格式:LOWER()示例示例:?LOWER(“ABDF”)6.6.字符串转换成大写字母函数字符串转换成大写字母函数UPPER()UPPER()格式格式:UPPER()示例示例:?UPPER(“abde”)7.7.删除字符串尾部空格函数删除字符串尾部空格函数TRIM()TRIM()格式格式:TRIM()示例示例:A=“Iamateacher.”?TRIM(A)8.8.删除字符串左边空格函数删除字符串左边空格函数LTRIM()LTRIM()格式:格式:LTRIM()示例:示例:A=“Iamateacher.”
47、?LTRIM(A)9.9.删除字符串右边空格函数删除字符串右边空格函数TRIM()TRIM()格式:格式:RTRIM()10.10.删除字符串最左边和最右边的所有空格函数删除字符串最左边和最右边的所有空格函数格式:格式:ALLTRIM()示例:示例:A=“Iamateacher.”?ALLTRIM(A)11.11.取字符串左边部分字符函数取字符串左边部分字符函数LEFT()LEFT()格式格式:LEFT(,)示例示例:?LEFT(“there,3”)12.12.取字符串右边部分字符函数取字符串右边部分字符函数RIGHT()RIGHT()格式格式:RIGHT(,)示例示例:?RIGHT(“wha
48、t”,2)13.13.子字符串位置测试函数子字符串位置测试函数AT()AT()格式格式:AT(,)示例示例:?AT(“IS”,“THISISABOOK”)?AT(“IS”,“THISISABOOK”,2)?AT(“A”,“THISISABOOK”)?AT(“D”,“BOOK”)注:注:ATC函数、函数、OCCURS14.14.测试表达式类型函数测试表达式类型函数TYPE()TYPE()格式格式:TYPE()说明说明:函数返回值为字符型,各字符含义如下:函数返回值为字符型,各字符含义如下:字符值字符值 数据类型数据类型 字符值字符值 数据类型数据类型 C C 字符型字符型 M M 备注型备注型
49、N N 数值型数值型 O O 对象型对象型 D D 日期型日期型 G G 通用型通用型 T T 日期时间型日期时间型 Y Y 货币型货币型 L L 逻辑型逻辑型 U U 未定义型未定义型示例示例:A=567?TYPE(“A”)15.15.求求ASCIIASCII码码函数函数ASC()ASC()格式格式:ASCII()2.4.2数值处理函数数值处理函数1.1.取整函数取整函数INT()INT()格式:格式:INT()示例:示例:?INT(5.96)?INT(-8.66)?INT(10.98-2.43)2.2.四舍五入函数四舍五入函数ROUND()ROUND()格式:格式:ROUND(,)示例:示
50、例:?ROUND(345.6799,3)?ROUND(345.6799,0)?ROUND(345.6799,-2)3.3.取绝对值函数取绝对值函数ABS()ABS()格式:格式:ABS()示例:示例:?ABS(-20)4.4.最大值函数最大值函数MAX()MAX()格式:格式:MAX(,)示例:示例:?MAX(10,20)?MAX(a,b,c)5.5.最小值函数最小值函数MIN()MIN()格式:格式:MIN(,)示例:示例:?MIN(10,20)?MIN(-10,-20)6.6.求平方根函数求平方根函数SQRT()SQRT()格式格式:SQRT()示例示例:?SQRT(16)7.7.求自然对