数据库技术及应用第五章.ppt

上传人:laozhun 文档编号:2347154 上传时间:2023-02-14 格式:PPT 页数:121 大小:438KB
返回 下载 相关 举报
数据库技术及应用第五章.ppt_第1页
第1页 / 共121页
数据库技术及应用第五章.ppt_第2页
第2页 / 共121页
数据库技术及应用第五章.ppt_第3页
第3页 / 共121页
数据库技术及应用第五章.ppt_第4页
第4页 / 共121页
数据库技术及应用第五章.ppt_第5页
第5页 / 共121页
点击查看更多>>
资源描述

《数据库技术及应用第五章.ppt》由会员分享,可在线阅读,更多相关《数据库技术及应用第五章.ppt(121页珍藏版)》请在三一办公上搜索。

1、1,李雁翎 编著高等教育出版社,数据库技术及应用 Visual FoxPro,2,第5章Visual FoxPro 操作基础,3,本章要点,掌握数据的类型,掌握数据的存储方法,掌握函数使用方法,掌握表达式计算方法。,4,5.1 数据类型,5,5.1.1 字符型C,5.1 数据类型,5.1.1 字符型,字符型(Character)数据是描述不具有计算能力的文字字符数据类型,是常用的数据类型之一。字符型数据由汉字、ASCII字符集中可打印字符、空格及其他专用字符组成。字符型数据的长度为0254,每个字符占1个字节。汉字也是字符,1个汉字占2个字节。字符型数据用C表示。例如:“高等教育出版社”数据库

2、技术及应用 123456789,6,5.1.2 数值型N,5.1 数据类型,5.1.2 数值型,数值型数据是描述数量的数据类型,是最常用的数据类型之一,它由数字09、一个符号(或-)和一个小数点(.)组成。数值型数据的长度为120位,精度16位,每个数据占8个字节。数值型数据用N表示。数值型数据取值的范围是:-0.9999999999E+190.9999999999E+20。,7,5.1.2 数值型,5.1 数据类型,5.1.2 数值型,在Visual FoxPro系统中被细分为以下5种类型。1.数值型 2.浮点型 3.货币型(货币型数据用Y表示)4.双精度型 5.整型 例如:123456.7

3、8 1.2345678 E+5$123,456.78,8,5.1.3 日期型D,5.1 数据类型,5.1.3 日期型,日期型(Date)数据是用于表示日期的数据类型,长度固定为8个字符,日期型数据用D表示。系统默认的日期型数据为美国日期格式mm/dd/yyyy,其中mm代表月,dd代表日,yyyy代表年,年份可以是2位数字,也可以是4位数字。如10/09/01、10-09-2001等。传统格式的日期型数据要受到命令语句SET DATE TO和SET CENTURY TO 设置的影响。,9,5.1.4 日期时间型T,5.1 数据类型,5.1.4 日期时间型,日期时间型(Date Time)数据是

4、描述日期和时间的数据类型,长度固定为8个字符,日期时间型数据用T表示。,10,5.1.4 日期时间型T,5.1 数据类型,5.1.4 日期时间型,日期时间型数据除包括日期数据的年、月、日外,还包括时、分、秒以及上午、下午标识等内容。日期时间型数据中可以只包含一个日期或者只包含一个时间值,缺省日期值时,系统自动加上1999年12月31日;省略时间值时,则自动加上午夜零点。例如:2006/03/01 01:05:20 03/01/06 01:05:20,11,5.1.5 逻辑型L,5.1 数据类型,5.1.5 逻辑型,逻辑型(Logic)数据是描述客观事物真假的数据类型,用于表示逻辑判断结果。逻辑

5、型数据只有真和假两种值,长度固定为1个字符。逻辑型数据用L表示。例如:逻辑真:.t.或.T.、.y.或.Y.逻辑假:.f.或.F.、.n.或.N.,12,5.1.6 备注型M,5.1 数据类型,5.1.6 备注型,备注型(Memo)数据用于存放较长的字符数据类型,可以把它看成是字符型数据的特殊形式。备注型数据没有数据长度限制,仅受限于现有的磁盘空间。它只用于数据表中的字段类型的定义,备注型字段长度固定为4个字符,而实际数据被存放在与数据表文件同名的备注文件中,实际长度根据数据的内容而定。,13,5.1.7 通用型,5.1 数据类型,5.1.7 通用型,通用型(General)数据是用于存储OL

6、E对象的数据类型。通用型数据中的OLE对象可以是电子表格、文档、图片等,它只用于数据表中的字段类型的定义。通用型字段长度固定为4个字符,实际数据长度仅受限于现有的磁盘空间。,14,5.2 数据存储,15,5.2.1 常量,5.2 数据存储,5.2.1 常量,常量是一个命名的数据项,是在命令或程序中直接引用的实际值,其特征是在所有的操作中其值不变。常量类型有数值型、浮点型、字符型、逻辑型、日期型和日期时间型6种。,16,5.2.1 常量,5.2 数据存储,5.2.1 常量,1.数值型常量由数字09、小数点和正负号组成。例5.1:-123.56 768+32567.67,17,5.2.1 常量,5

7、.2 数据存储,5.2.1 常量,2.浮点型常量是数值型的浮点格式。例5.2:-123e+12-3645e-89,18,5.2.1 常量,5.2 数据存储,5.2.1 常量,3.字符型常量也称为字符串使用:”例5.3:”ABCDE”中国人民解放军 高等教育出版社注意:字符型常量也称为字符串字符串中的字母、大小写并不等价,如ABC 并不等价于abc;Eg:?ABC=abc不包含任何字符的字符串 称为空串,它的长度为0,与包含空格的字符串 不同;Eg:?=定界符必须成对匹配。,19,5.2.1 常量,5.2 数据存储,5.2.1 常量,4.逻辑型常量由表示逻辑判断结果为“真”或“假”的符号组成。例

8、5.4:逻辑真:.t.或.T.或.y.或.Y.逻辑假:.f.或.F.或.n.或.N.,20,5.2.1 常量,5.2 数据存储,5.2.1 常量,5.日期常量常用的系统输出格式:mm/dd/yy常用的系统输入格式:yyyy/mm/ddset date to:AMERICAN/ANSI/BRITISH/DMY/MDY/YMD/SHORT/LONG:设置日期显示格式,美国国家标准学会(American National Standards Institute:ANSI)注意:VFP传统的日期和日期时间格式不带“”,在日期和日期时间型常量加“”是VFP6.0以后规定的严格日期格式,且是默认设置。若需

9、使用传统的日期和日期时间格式,须用SET STRICTDATE 命令进行设置。,21,5.2.1 常量,例子:查当前日期:?DATE()Set date to ansi?2008-09-22Set date to short?2008-09-22Set date to long?date(2008,09,22)SET CENTURY ON|OFF|TO ROLLOVER:用于决定如何显示或解释一个日期数据的年份,ON显示世纪,即显示的年份是4位。OFF不显示世纪,即用2位数字表示年份,它是系统的默认设置。SET MARK TO 日期分隔符:用于指定日期分隔符,若不带参数,则恢复系统默认的斜杠分

10、隔符。日期分隔符一定要用定界符括起来,否则该命令无效。例:Set mark to#?date(),22,5.2.1 常量,5.2 数据存储,5.2.1 常量,6.日期时间型常量常用的系统输出格式:mm/dd/yy hh:mm:ss常用的系统输入格式:yyyy/mm/dd hh:mm:ss 日期时间型(Date Time)数据包括日期和时间两部分内容:,。有传统的和严格的两种格式。系统默认格式为mm/dd/yyyy hh:mm:ss 其中mm代表月,dd代表日,yyyy代表年,hh 代表小时,mm代表分,ss 代表秒,严格格式为 yyyy-mm-dd,hh:mm:ssa|p,a和p分别代表上午和

11、下午,默认值为a。set mark to?2001-03-22,11:30 p,23,SET SECONDS ON|OFF:当显示日期时间值时,是否显示时间部分的秒,默认设置是ON。Eg:,Set seconds on?datetime()Set seconds off?datetime(),5.2.1 常量,24,变量,变量用于存储数据,一个变量在不同的时刻可以存放不同的数据。变量值是能够随时更改的。每个变量有一个变量名,代码通过变量名来访问变量的取值。,25,变量可分为两大类:字段变量和内存变量。一、字段变量 在建立数据表时定义的一类变量,就是数据表中的字段。由于表中的各条记录对同一个字段

12、名可能取值不同,因此打开表之后表中的字段名就是变量,称为字段变量。字段变量的类型有字符型、数值型、逻辑型、日期型、日期时间型、备注型、通用型等。,26,5.2.2 内存变量,5.2 数据存储,5.2.2 内存变量,内存变量是一般意义下的简单变量。每一个内存变量都必须有一个固定的名称,以标识该内存单元的存储位置。用户可以通过变量标识符使用内存单元存取数据。内存变量是内存中的临时单元,可以用来在程序的执行过程中保留中间结果与最后结果,或用来保留对数据库进行某种分析处理后得到的结果。,27,5.2.2 内存变量,5.2 数据存储,5.2.2 内存变量,内存变量的类型有数值型、浮点型、字符型、逻辑型、

13、日期型和日期时间型6种。内存变量名的长度在Visual FoxPro系统中可以达到254个字符,是由字母、数字和下划线组成的。如果内存变量与数据表中的字段变量同名时,用户在引用内存变量时,要在其名字前加一个m.或(m-),用以强调这一变量是内存变量。,28,内存变量的命名规则,每个变量有一个变量名,代码通过变量名来访问变量的取值。内存变量名可以用数字、字母(大小写通用)、汉字和下划线组成,用户定义的内存变量名只能以字母和汉字开头。例如:X1、c4、姓名、Aver_3是合法的内存变量名,而5c、m*为非法的内存变量名。,29,3.内存变量的显示,Display|list memory liket

14、o printer|to file功能:显示内存变量的当前信息,包括变量名、作用域、类型和取值。,分屏显示,一次显示,通配符包括*和?,*表示任意多个字符;?表示任意一个字符。,30,Eg:1,Store hello to a1Store word to a2Clear Display memory like a*Display memory like?2,31,5.2.3 数组变量,5.2 数据存储,5.2.3 数组变量,数组是一组有序内存变量的集合。或者说,数组是由同一个名字组织起来的通过下标加以区分的简单内存变量的集合。其中每一个下标不同的内存变量都是这个数组的一个元素,它是由一个以行和

15、列形式表示的数组元素的矩阵。,32,5.2.3 数组变量,5.2 数据存储,5.2.3 数组变量,数组在使用前必须要通过Dimension或Declare定义。数组一旦定义,它的初始值是逻辑值.F.。在使用数组时,一定要对数组进行初始化,还要注意数组下标的起始值是1。,33,5.2 数据存储,5.2.3 数组变量,定义数组的命令格式如下:Dimension(,),(,)Declare(,),(,),34,5.2 数据存储,5.2.3 数组变量,例如:定义一个含有12个元素的二维数组。Dimension cc(3,4)cc数组一旦定义完成,用户就可以使用cc(1,1)、cc(1,2)、cc(1,

16、3)、cc(1,4)、cc(2,1)、cc(2,2)、cc(2,3)、cc(2,4)、cc(3,1)、cc(3,2)、cc(3,3)、cc(3,4)12个内存变量单元存取数据。,35,5.2.4 字段变量,5.2 数据存储,5.2.4 字段变量,字段变量是数据库管理系统中的一个重要概念。它与记录一纵一横构成了数据表的基本结构。一个数据库由若干相关的数据表组成,一个数据表由若干个具有相同属性的记录组成,而每一个记录又是由若干个字段组成。字段变量就是指数据表中已定义的任意一个字段。,36,5.2.4 字段变量,5.2 数据存储,5.2.4 字段变量,字段变量的数据类型与该字段定义的类型一致,字段变

17、量的类型有数值型、浮点型、货币型、整型、双精度型、字符型、逻辑型、日期型、日期时间型、备注型和通用型等。使用字段变量首先要建立数据表,建立数据表时首先定义的就是字段变量属性(名字、类型和长度)。,37,5.2.5 记录,5.2 数据存储,5.2.5 记录,记录是数据表中一组数据项的集合。在同一个数据表中可以有若干个记录,每一个记录具有相同的字段个数。在数据表中记录的顺序不影响对记录的操作。在Visual FoxPro系统中,许多操作都是通过记录操作来完成的。,38,5.2.6 对象,5.2 数据存储,5.2.6 对象,对象是数据存储器的一种。对象是类的实体,对象也是类的变量,它是任何具有属性和

18、方法的信息的集合。对象的建立可以通过设计器和CreateObject()函数实现。在Visual FoxPro系统中,引用对象是可视化编程的重要手段。,39,5.2.7 内存变量的作用域,5.2 数据存储,5.2.7 内存变量的作用域,内存变量的作用域是按变量在程序中的作用范围来区分的。,40,5.2.7 内存变量的作用域,5.2 数据存储,5.2.7 内存变量的作用域,在Visual FoxPro系统中,能否正确使用内存变量,弄懂内存变量的作用域是重要的一个环节。一旦内存变量的作用域被定义,使用变量时就要特别注意它的作用范围,尤其是在进行应用系统开发时,各对象间的数据传递就是依靠内存变量来完

19、成的。内存变量的作用范围定义不当,对象间的数据传递就将导致失败。,41,5.2 数据存储,5.2.7 内存变量的作用域,1.全局型内存变量的定义 用Public命令定义的内存变量,可视为全局型内存变量。命令格式:Public 或:Public array(,),(,)(演示P84 例5.10),42,5.2 数据存储,5.2.7 内存变量的作用域,1.全局型内存变量的定义 命令功能:定义全局型内存变量,或全局型数组变量。,43,5.2 数据存储,5.2.7 内存变量的作用域,2.局部型变量的定义 用Private命令定义的内存变量,可视为局部型内存变量。命令格式:Private 或:Priva

20、te All Like|Except,44,5.2 数据存储,5.2.7 内存变量的作用域,2.局部型变量的定义或:Private array(,),(,)命令功能:定义局部型内存变量,或局部型数组变量。,45,5.2 数据存储,5.2.7 内存变量的作用域,3.本地型变量的定义用Local 命令定义的内存变量,可视为本地型内存变量。命令格式:Local,46,5.2 数据存储,5.2.7 内存变量的作用域,3.本地型变量的定义或:Local array(,),(,)命令功能:定义本地型内存变量,或本地型数组变量。,47,5.2.8 有关内存变量的操作,5.2 数据存储,5.2.8 有关内存变

21、量的操作,内存变量的定义,可以通过定义内存变量的作用域,或者直接给内存变量赋值来进行,内存变量一旦定义完成,便可以对其进行如下操作。,48,5.2.8 有关内存变量的操作(掌握),5.2 数据存储,5.2.8 有关内存变量的操作,1.给内存变量赋值命令(1)Store命令命令格式:Store To 命令功能:计算的值,并将的值赋给内存变量表中每一个变量。,49,例:store 6 to c1,c2 Store 张三 to 姓名 m=2+4 性别=.t.da=1980-09-11?c1,c2?姓名?m?性别,da,50,5.2 数据存储,5.2.8 有关内存变量的操作,(2)=命令命令格式:=命

22、令功能:计算的值,并将的值赋给内存变量。,51,5.2 数据存储,5.2.8 有关内存变量的操作,2表达式输出命令命令格式:?/?命令功能:依次计算中表达式的值,并将诸表达式表的值在屏幕上输出。其中:使用?命令,显示结果在下一行输出;使用?命令,显示结果在当前行输出;不选择,使用?命令,输出一个空行。,52,5.2 数据存储,5.2.8 有关内存变量的操作,3.数据表与内存变量间数据的传递命令(1)Scatter命令命令格式:Scatter Fields|Fields Like|Fields Except Memo To Blank命令功能:将当前数据表中,当前记录的全部或部分数据传送到指定的

23、数组中。,53,使用说明:,若要传送备注型字段,则需要使用MEMO选项。若不使用fields短语指定字段,则复制除备注型和通用型之外的全部字段。,使用TO子句将数据复制到数组元素中(VFP会自动建立或扩大数组)。,54,Eg:,Dimension stud(4)Use studentDisplayGo 5DisplayScatter to stud?stud(1),stud(2),stud(3),stud(4),stud(5),stud(6),55,5.2 数据存储,5.2.8 有关内存变量的操作,3.数据表与内存变量间数据的传递命令(2)Gather命令命令格式:Gather From Fi

24、elds Memo或:Gather From Fields|Fields Like Fields Except Memo命令功能:用数组中的数据置换当前数据表中数据。,56,使用说明:,使用此命令修改记录前需要确定记录指针的位置,使用fields子句以替换特定字段的值,若数组元素多于字段数,则多余的数组元素不传送;而数组元素少于字段数,则多余的字段数不被改变,57,eg:,use student go 3 disp dime x(3)x(1)=“AAA”x(2)=“BBB”x(3)=“CCC”gather from x disp,58,5.3 函 数(掌握),59,5.3.1 数值函数,5.3

25、 函数,5.3.1 数值函数,常用的数值计算函数如下表:,?max(5*9,80/2),max(2,12,05)?min(5*9,80/2),min(汽车,飞机,轮船),60,5.3.1 数值函数,5.3 函数,5.3.1 数值函数,常用的数值计算函数如下表:,61,Eg:,Store 5.8 to x?int(x),int(-x),ceiling(x),ceiling(-x),floor(x),floor(-x)Store 10 to y?abs(5-y),sign(5-y),sign(y-10)?sqrt(45*5)?exp(2*2)?log(54.6),62,5.3.2 字符函数(11个

26、),5.3 函数,5.3.2 字符函数,常用的字符处理函数如下表:,格式:LEN(S)功能:求字符串S的长度例:?LEN(南京航空航天大学)16 x=中文 visual foxpro6.0?len(x)21 注意:中文字符占2个字节,63,5.3.2 字符函数,5.3 函数,5.3.2 字符函数,常用的字符处理函数如下表:,64,5.3.2 字符函数,5.3 函数,5.3.2 字符函数,常用的字符处理函数如下表:,65,Eg:store 等级 to x?计算机+trim(x)+考试?计算机+ltrim(x)+考试?计算机+alltrim(x)+考试,66,store space(1)+TEST

27、+space(3)to ss?trim(ss)+ltrim(ss)+alltrim(ss)?len(ss),len(trim(ss),len(ltrim(ss),len(alltrim(ss),67,取子串函数格式:SUBSTR(s,i,j)从s主串中取出起点从第i个字符开始的长度为j的子串。若缺省j,将从起点截取到字符型表达式的结尾。当i=0时输出空串。,68,LEFT(,)RIGHT(,)LEFT在字符表达式中,从左端截取一个指定长度的子串作为函数值。RIGHT在字符表达式中,从右端截取一个指定长度的子串作为函数值。若的值大于的长度,则该函数返回整个字符串;若小于或等于0,该函数返回一个空

28、串。,69,storeGOOD BYE!to x?left(x,2),substr(x,6,2)+substr(x,6),right(x,3),70,计算子串出现次数函数格式:OCCURS((,)功能:返回第一个字符串在第二个字符串中出现的次数,函数值为数值型。若第一个字符串不是第二个字符串的子串,函数值为0。,71,Store abracadabrato s?occurs(a,s),occurs(b,s),occurs(c,s),occurs(e,s),72,求子串位置函数,ExpC1在ExpC2中的位置,区分大小写,格式1:AT(,),格式2:ATC(,),ExpC1在ExpC2中的位置,

29、不区分大小写,73,Store This is Visual FoxPro to x?at(fox,x),atc(fox,x),at(is,x,3),at(xo,x),74,子串替换函数格式:STUFF(,)功能:该函数可用修改中任何一部分。指定修改的起始位置,则为要修改的字符个数。,75,eg:格式:STUFF(,)功能:该函数可用修改中任何一部分。指定修改的起始位置,则为要修改的字符个数。?stuff(航空航天学院,9,4,大学)&航空航天大学?stuff(会计凭证,5,0,记帐)&会计记帐凭证?stuff(航空航天学院,5,4,)&航空学院,76,storeGOOD BYE!TO S1s

30、toreMORNINGto s2?stuff(s1,6,3,s2),stuff(s1,1,4,s2),77,字符替换函数格式:CHRTRAN(,)功能:当第一个字符串中的一个或多个相同字符与第二个字符串中的某个字符相匹配时,就用第三个字符串中与第二个字符串相对应字符替换这些字符;若第三个字符串包含的字符个数少于第二个字符串包含的字符个数,导致没有对应字符,则第一个字符串中相匹配的各字符将被删除。,78,字符替换函数格式:CHRTRAN(,)功能:当第一个字符串中的一个或多个相同字符与第二个字符串中的某个字符相匹配时,就用第三个字符串中与第二个字符串相对应字符替换这些字符;若第三个字符串包含的字

31、符个数少于第二个字符串包含的字符个数,导致没有对应字符,则第一个字符串中相匹配的各字符将被删除。若第三个字符串包含的字符个数多余第二个字符串包含的字符个数,多余字符被忽略。eg:”x1=chrtran(ABACAD,ACD,X12)Y1=chrtran(计算机ABC,计算机,电脑)z1=chrtran(大家好!,大家,您)?x1,y1,z1,79,字符串匹配函数格式:LIKE(,)功能:比较两个字符串对应位置上的字符,若所有对应字符都匹配,函数返回逻辑真,否则返回逻辑假。中可以包含通配符*和?,*表示任意多个字符,?表示任意一个字符。,80,eg:store abc to x store ab

32、cd to y?like(ab*,x),like(ab*,y),like(x,y)?like(?b?,x),like(Abc,x),81,5.3.3 日期时间函数,5.3 函数,5.3.3日期时间函数,常用的日期和时间函数如下表:,82,5.3 函数,5.3.3日期时间函数,5.3.3 日期时间函数,常用的日期和时间函数如下表:,83,5.3 函数,5.3.3日期时间函数,5.3.3 日期时间函数,常用的日期和时间函数如下表:,84,Eg:,?date(),time(),datetime()Store 2008-10-1 02:30:50p to dd?year(dd),month(dd),d

33、ay(dd)?hour(dd),minute(dd),sec(dd)?dow(DATE(),85,5.3.4 转换函数,5.3 函数,5.3.4 转换函数,常用的转换函数如下表:,86,5.3.4 转换函数,5.3 函数,5.3.4 转换函数,常用的转换函数如下表:,87,Eg:,Store 256.456 to ss?str(ss,8,4)?str(ss,5)?str(ss)?str(ss,5,2),str(ss,2,2),88,P66 例2.30,?val(A18),val(18A18),val(143.1592)注意:转换时,遇到第一个非数字字符时停止,若第一个字符不是数字,则返回结果0

34、.00(默认保留2位),89,store-123.to xstore45 to ystoreA45to z?val(x+y),val(x+z),val(z+y),90,Eg1:,Set date to YMDSet century on?ctod(2008-10-1),ctot(2008-10-1+time(),Eg2:,Store datetime()to tt?tt?dtoc(tt),dtoc(tt,1),ttoc(tt),ttoc(tt,1),91,5.3.5 测试函数,1.值域测试函数between(,)Eg:store.null.to xstore 100 to y?between(

35、150,y,y+100),between(90,x,y),92,2.空值(NULL值)测试函数格式:ISNULL()功能:判断一个表达式的运算结果是否为NULL值,若是NULL值则返回逻辑真(.t.),否则返回逻辑假(.f.)store.null.to x?x,isnull(x),93,3.“空”值测试函数格式:EMPTY()功能:根据表达式的运算结果是否为“空”值,返回逻辑真或逻辑假。不同类型数据的“空”值,注意:“空”值与NULL值是两个不同的概念。函数EMPTY(.NULL.)的返回值为逻辑假(.f.),94,4.数值类型测试函数格式:VARTYPE(,)功能:测试的类型,返回一个大写字

36、母,函数值为字符型。若的运算结果是NULL值,则函数根据值决定是否返回的类型:若值为.T.,则返回的类型;若值为.F.或缺省,则返回X以表明的运算结果是NULL值。,95,4.数值类型测试函数格式:VARTYPE(,)功能:测试的类型,返回一个大写字母,函数值为字符型。若的运算结果是NULL值,则函数根据值决定是否返回的类型:若值为.T.,则返回的类型;若值为.F.或缺省,则返回X以表明的运算结果是NULL值。X=123Store 10 to ystore.null.to xstore$100.2 to z?vartype(x),vartype(x,.t.),vartype(y),vartyp

37、e(z),96,5.表文件首测试函数BOF(|)6.表文件尾测试函数EOF(|)7.当前记录号测试函数RECNO(|),此函数的关键是把握好表文件的四个位置TOP,BOTTOM,BOF,EOF,97,eg:,use studentgo top?recno()?bof()skip-1&将当前表中记录指针相对移动若干个记录?recno()?bof()go bottom?recno()?eof()skip+1?recno()?eof(),98,8.记录个数测试函数reccount(|)功能:返回当前表(若缺省自变量)或指定表文件中的记录个数。若指定工作区上没有打开表文件,函数值为0.注意:RECCO

38、UNT()返回的是表文件中物理上存在的记录个数,不管记录是否被逻辑删除,以及SET DELETED 的状态如何,也不管记录是否被过滤(SET FILTER)该函数都会把它们考虑在内。,99,E记录个数测试函数reccount(|)功能:返回当前表(若缺省自变量)或指定表文件中的记录个数。若指定工作区上没有打开表文件,函数值为0.注意:RECCOUNT()返回的是表文件中物理上存在的记录个数,不管记录是否被逻辑删除,以及SET DELETED 的状态如何,也不管记录是否被过滤(SET FILTER)该函数都会把它们考虑在内。g:USE STUDENTCOUNT TO X?X&显示器屏幕上显示数值

39、GO TOPDELETE NEXT 2SET DELETED ONCOUNT TO X?X&显示值(1)?RECCOUNT()&显示值(2),100,9.条件测试函数iif(,,)10.记录删除测试函数deleted(|),101,5.3.5 测试函数(7个),5.3 函数,5.3.5 测试函数,常用的测试函数如下表:,102,5.3.5 测试函数(7个),5.3 函数,5.3.5 测试函数,常用的测试函数如下表:,103,5.3.6 其它函数,5.3 函数,5.3.6 其它函数,常用的其它函数如下表:,104,5.4 表达式(掌握),105,5.4.1 算术表达式,5.4 表达式,5.4.1

40、 算术表达式,算术表达式由算术运算符和数值型常量、数值型内存变量、数值型数组、数值类型的字段、返回数值型数据的函数组成,算术表达式的运算结果是数值型常数。,106,5.4.1 算术表达式,5.4 表达式,5.4.1 算术表达式,算术运算符及实例一览如下表:,107,5.4.1 算术表达式,5.4 表达式,5.4.1 算术表达式,算术运算符的优先级:,108,5.4.1算术表达式,5.4 表达式,5.4.2 字符表达式,举例:,数学公式 表达式 AX2+BX+C A SQRT(B2-4*A*C)(a+b)/(cd)(ab)/(c+d),109,5.4.2 字符表达式,5.4 表达式,5.4.2

41、字符表达式,字符表达式由字符运算符和字符型常量、字符型内存变量、字符型数组、字符型类型的字段和返回字符型数据的函数组成,字符表达式运算的结果是字符常数或逻辑型常数。,110,5.4.2 字符表达式,5.4 表达式,5.4.2 字符表达式,字符运算符及实例一览如下表:,111,5.4.3 日期时间表达式,5.4 表达式,5.4.3 日期时间表达式,日期时间表达式由日期运算符和日期时间型常量、日期时间型内存变量和数组、返回日期时间型数据的函数组成,日期时间表达式运算的结果是日期时间型常数。,112,5.4.3 日期时间表达式,5.4 表达式,5.4.3 日期时间表达式,日期时间运算符及实例一览如下

42、表:,113,5.4.4 关系表达式,5.4 表达式,5.4.4 关系表达式,关系表达式由关系运算符和字符表达式、算术表达式、时间日期表达式组成,其运算结果为逻辑型常量。关系运算是运算符两边同类型元素的比较,关系成立结果为.T.;反之结果为.F.。具有相同的优先级,按出现顺序从左到右进行处理。,114,5.4.4 关系表达式,5.4 表达式,5.4.4 关系表达式,关系运算符及实例一览如下表:,115,5.4.5 逻辑表达式,5.4 表达式,5.4.5 逻辑表达式,逻辑表达式由逻辑运算符和逻辑型常量、逻辑型内存变量、逻辑型数组、返回逻辑型数据的函数和关系表达式组成,其运算结果仍是逻辑型常量。,

43、116,5.4.5 逻辑表达式,5.4 表达式,5.4.5 逻辑表达式,逻辑运算符及实例一览如下表:优先级:()、NOT、AND、OR,117,5.4.6 名表达式(了解),5.4 表达式,5.4.6 名表达式,在Visual FoxPro系统中,允许用户给命令和函数定义一个名字。将这一名字存入到内存变量和数组元素中,就可以在引用命令和函数时用内存变量和数组元素来代替,给程序开发带来很多便利。存于内存变量和数组元素中的命令和函数名,用户可以通过间接引用或宏替换两种操作方法调用。,118,1.间接引用方式 例:间接打开表 Store d:Fxp80sc TO fname Use(fname)&该

44、命令等价于Use d:Fxp80sc2.宏替换方式 例:利用宏替换输出表达式的值 Store 52 To expr?&expr,119,5.4.7 类与对象操作符,5.4 表达式,5.4.7 类与对象操作符,在应用程序文件中,常利用下面两个标识符描述对象与类的关系,属性、事件和方法与其对象的从属关系,以及子类中调用父类的方法。类与对象操作符及实例一览如下表:,120,5.4.7 类与对象操作符,5.4 表达式,5.4.7 类与对象操作符,121,各种类型的表达式的值,遵守的运算规则是:在同一个表达式中,如果只有一种类型的运算符,则按各自的优先级进行。如果是多种的,则按照算术运算、字符运算、关系运算、逻辑运算的顺序进行。,

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号