资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,2,章,Visual FoxPro,语言基础,上篇 语言基础,第2章 Visual FoxPro语言基础上篇 语言基础,数据类型和数据存储方式,常量和变量,运算符和表达式,函数,本章要求:,理解数据类型的定义及数据存储方式,掌握各种类型常量的书写格式、内存变量的使用,掌握运算符的用法及运算符的优先级,掌握字符函数、数值计算函数、日期时间函数、数据,类型转换函数和测试函数的使用,主要内容:,数据类型和数据存储方式主要内容:,2.1,数据类型,数据是描述事物的符号记录,是对客观事物及其属性的,描述。,数据包括两个方面:,数据内容与数据形式,。数据内容就是,数据的值,数据形式就是数据的存储形式和操作使用方式,,也称为数据类型。,VFP,系统为方便用户建立和操作数据库,将系统中所有操,作处理的数据,分为几种不同数据类型:,字符型、数值型、,逻辑型、日期型、日期时间型、备注型、通用型,、二进制字,符型和二进制备注型。,2.1 数据类型 数据是描述事物的符号记录,是对客观事物及其,1.,字符型,(,Character,),字符型数据是描述不具有计算能力的文字数据类型,是,常用的数据类型之一。,字符型数据用字母,C,表示,。,由汉字和,ASCII,字符集中可打,印字符,(,英文字符、数字字符、空格及其他专用字符,),组成,,,最大长度是,254,个字符。,说明:,字母、数字、空格及其他专用字符,占,1,个字节存储空间。,一个汉字相当于两个字符,占,2,个字节存储空间。,1.字符型(Character)字符型数据是描述不具有计算,数值型数据是表示数量、可以进行数值运算的数据类型。,数值型数据由,数字、小数点、正负号和字母,E,(,乘幂,),组成。,在,Visual FoxPro,系统中,按存储、表示形式与取值范围不,同,数值型数据又分为五种不同类型。,数值型,(,Numeric,),数值型数据由数字、小数点、正负号和字母,E,组成,用字母,N,表示。包括正负号、小数点和字母,E,在内,其长度,(,数据位数,),最大,20,个字节。,例如:,23,,,-103.45,,,1.3E-5,(,即,1.310,-5,),等;,2.,数值型,数值型数据是表示数量、可以进行数值运算的数据类型。2.数值,浮点型,(,Float,),浮点型数据是数值型数据的一种,用字母,F,表示。,与数值型数据完全等价,只是在存储形式上采用浮点格,式,主要是为了与其他软件相兼容。,最大宽度,20,个字节。,双精度型,(,Double,),是具有更高精度的一种数值型数据,用字母,B,表示。,采用固定长度浮点格式存储,占用,8,个字节。,2.,数值型,浮点型(Float)2.数值型,整型,(,Integer,),整型数据是不包含小数部分的数值型数据,用字母,I,表示。,占用,4,个字节内存空间,以二进制形式存储。,货币型,(,Currency,),货币型数据是为存储美元金额而使用的一种数据类型。,货币型数据用字母,Y,表示。,默认保留,4,位小数,占用,8,个字节存储空间。,2.,数值型,整型(Integer)2.数值型,日期型是表示日期的数据,用字母,D,表示。,日期的默认格式:,mm/dd/yy,,其中,mm,表示月份,,dd,表示日期,,yy,表示年度,固定长度,8,个字节。,例如:,02/28/12,、,02-28-12,、,02.28.12,表示,2012,年,2,月,28,日这一日期数据。,3.,日期型,(,Date,),日期型是表示日期的数据,用字母D表示。3.日期型(Dat,日期时间型数据是表示日期和时间的数据,用字母,T,表示。,日期时间的默认格式:,mm/dd/yy hh:mm:ss am|pm,,,其中,mm,、,dd,、,yy,的意义与日期型相同,,hh,、,mm,、,ss,分,别表示小时、分钟、秒数,,am,和,pm,分别表示上午和下午。,日期时间型数据也是采用固定长度,8,个字节。,例如:,05/12/10 10:30:30 AM,4.,日期时间型,(,DateTime,),日期时间型数据是表示日期和时间的数据,用字母T表示。4.,逻辑型数据是描述客观事物真假的数据类型,用字母,L,表示。,逻辑型数据只有真,(,.T.,或,.Y.,),和假,(,.F.,或,.N.,),两种,固定,长度,1,个字节。,为其他数据类型相互区别,一般在表示逻辑值的字母,T,、,Y,、,F,、,N,的前后加圆点符“,.”,。,例如:,?89,结果为,.F.,。,5.,逻辑型,(,Logic,),逻辑型数据是描述客观事物真假的数据类型,用字母L5.逻辑型,备注型数据是表示、存放较多字符的数据类型。可以把,它看成是字符型数据的特殊形式,用字母,M,表示。,备注型数据字段长度固定为,4,个字节,实际长度仅受限于,磁盘空间。数据存放在与表文件同名的,.FPT,备注文件中。,6.,备注型,(,Memo,),备注型数据是表示、存放较多字符的数据类型。可以把6.备注型,通用型数据是存储,OLE,(,对象链接嵌入,),对象的数据类型,用字母,G,表示。通用型数据中的,OLE,对象可以是电子表格、,文档、图形、图片和声音等多媒体数据。,通用型数据字段长度固定为,4,个字节,,实际数据长度仅受,限于磁盘空间。,数据也存放在与表文件同名的备注文件中,,扩展名为,.FPT,。,7.,通用型,(,General,),通用型数据是存储OLE(对象链接嵌入)对象的数据类型,,表,2.1,学生表,例如:建立学生表的表结构。,学号,姓名,性别,出生日期,专业,电话,学籍信息,照片,1110070102,刘 悦,.T.,08/13/91,土木工程,81820143,meno,Gen,1110070103,霍国安,.T.,05/03/91,土木工程,81820123,meno,gen,1110070104,刘思哲,.T.,08/04/91,土木工程,81820167,meno,gen,1210070101,周 炜,.T.,08/11/91,测绘工程,81820578,meno,gen,1210070103,任 楠,.F.,11/12/91,测绘工程,81820798,meno,gen,2310070137,贾 超,.T.,04/25/93,软件工程,81820467,meno,Gen,2320080119,刘 波,.F.,08/25/91,信息安全,81820673,meno,gen,2320080122,刘宇航,.T.,02/09/93,信息安全,81820165,meno,gen,说明:,表中的一行即为一条,记录,。,表中一列即为一个,字段,,每个字段都有字段名,同一字段可以有多个不同的字段值。,表2.1 学生表例如:建立学生表的表结构。学号姓,字段序号,字段名,类型,字段宽度,1,学号,字符型,C,10,2,姓名,字符型,C,6,3,性别,逻辑型,L,1,4,出生日期,日期型,D,8,5,专业,字符型,C,10,6,电话,字符型,C,8,7,学籍信息,备注型,M,4,8,照片,通用型,G,4,表,2.2,学生表结构,字段序号字段名类型字段宽度1学号字符型 C102姓名字符型,2.2,常量与变量,常量:在命令或程序中可直接引用、具有具体值的数据,项,其特征是在整个操作过程中其值和表现形式保持不变。,VFP,系统按常量取值的数据类型不同,分为,6,种类型:,数值型常量,字符型常量,逻辑型常量,货币型常量,日期型常量,日期时间型常量,2.2 常量与变量 常量:在命令或程序中可直接引用、具有具,1.,数值型常量,由数字、小数点、,E,和正负号组成,表示整数或实数值。,例如:,100,,,-21,,,15.31,,,-210.51,2.,货币型常量,货币型常量以,$,符号开头,并四舍五入到小数,4,位。,例如:货币型常量,?,$100.12345,3.,逻辑型常量,表示逻辑判断结果“真”或“假”的逻辑值。逻辑常量只有真和假两种值,分别用,(,.T.,或,.Y.,),和,(,.F.,或,.N.,),表示真和假。,一般应在逻辑常量的字母左右加“,.”,以示区别。,1.数值型常量,由任意,ASCII,字符和汉字字符组成的字符型数据。字符,型常量又称为,字符串,。,VFP,系统要求将字符串中所有字符,用,双引号、单引号,或方括号,作为定界符对括起来。,例如:“,12345”,,,Visual FoxPro 6.0,关系数据库系统,和,中华人民共和国都是字符串。,注意:,如果字符串本身就包含一种定界符,则定界符要选择,另外一种。如:“,Im a student.”,4.,字符型常量,由任意ASCII字符和汉字字符组成的字符型数据。字符4.字,日期型常量,在,Visual FoxPro,中,默认使用的是,严格日期形式,。,格式:,yyyy-mm-dd,或,yyyy/mm/dd,。,例如:,2012-09-11,日期时间型常量,默认格式:,yyyy-mm-dd hh:mm:ssam|pm,例如:,2012-09-11 10:30:30 am,5.,日期型和日期时间型常量,日期型常量5.日期型和日期时间型常量,说明:,日期值和日期时间值的输入格式与输出格式并不完全相,同,输出格式与系统环境设置有关,可以根据需要进行,相应地设置。,SET STRICTDATE TO 1|0,&,设置或取消严格日期,SET CENTURY ON|OFF,&,设置或取消,4,位数字年份,SET DATE TO AMERICAN,&,设置美国日期格式,SET DATE TO ANSI,&,设置中国日期格式,说明:日期值和日期时间值的输入格式与输出格式并不完全相,变量:在命令操作和程序执行过程中其值允许变化的量。,变量的分类:,字段变量、内存变量和系统内存变量,。,变量的命名规则:,使用字母、下划线和数字命名,建议不采用汉字命名;,命名以字母或下划线开头,除字段名最多不超过,10,个字,符外,其他命名可使用,1,128,个字符;,避免使用,Visual FoxPro,系统的保留字,例如:,LIST,、,DISPLAY,、,USE,、,CREATE,等;,2.2.2,变量,变量:在命令操作和程序执行过程中其值允许变化的量。2.2.2,内存变量的概念,由用户在内存中定义的、单个数据元素的临时性变量。,内存变量的数据类型,数值型、字符型、逻辑型、日期型和日期时间型,内存变量的赋值,格式,1,:,STORE TO ,功能:计算,的值并赋值给各个内存变量。,格式,2,:,=,功能:计算,的值并赋值给指定内存变量。,1.,内存变量,内存变量的概念1.内存变量,例如,:,m1=12.34,m2=,abcd,STORE,abcd,TO m2,STORE m1 TO a,b,c,说明:,STORE,语句可以同时给多个变量赋值,但“,=”,赋值语句,只能给一个变量赋值。,内存变量在赋值时定义了它的值和类型,其类型与所赋,的值的类型相同。,内存变量的赋值,例如:m1=12.34 内存变量的赋值,格式:,?|?,功能:显示输出项目表中的各输出项。,说明:,单问号,?,表示在下一行输出。,双问号,?,表示在当前行直接输出。,输出项可以是常量、变量、表达式或者函数。,例如:,?m2,123,2+8,?a,b,?,date(),time(),内存变量的输出,格式:?|?内存变量的输出,1.,变量的显示,格式:,LIST|DISPLAY MEMORY LIKE,功能:显示当前已定义的内存变量名、作用范围、类型和值。,2.,变量的清除,格式:,RELEASE,ALL LIKE|EXCEPT,功能:从内存清除指定的内存变量。,例如:,LIST MEMORY LIKE m,?,RELEASE m1,
展开阅读全文