




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章VisualFoxPro语言基础上篇语言基础第2章VisualFoxPro语言基础上篇语言基础数据类型和数据存储方式常量和变量运算符和表达式函数本章要求:理解数据类型的定义及数据存储方式掌握各种类型常量的书写格式、内存变量的使用掌握运算符的用法及运算符的优先级掌握字符函数、数值计算函数、日期时间函数、数据类型转换函数和测试函数的使用主要内容:数据类型和数据存储方式主要内容:2.1数据类型
数据是描述事物的符号记录,是对客观事物及其属性的描述。数据包括两个方面:数据内容与数据形式。数据内容就是数据的值,数据形式就是数据的存储形式和操作使用方式,也称为数据类型。VFP系统为方便用户建立和操作数据库,将系统中所有操作处理的数据,分为几种不同数据类型:字符型、数值型、逻辑型、日期型、日期时间型、备注型、通用型、二进制字符型和二进制备注型。2.1数据类型数据是描述事物的符号记录,是对客观事物及其1.字符型(Character)字符型数据是描述不具有计算能力的文字数据类型,是常用的数据类型之一。字符型数据用字母C表示。由汉字和ASCII字符集中可打印字符(英文字符、数字字符、空格及其他专用字符)组成,最大长度是254个字符。说明:字母、数字、空格及其他专用字符,占1个字节存储空间。一个汉字相当于两个字符,占2个字节存储空间。1.字符型(Character)字符型数据是描述不具有计算数值型数据是表示数量、可以进行数值运算的数据类型。数值型数据由数字、小数点、正负号和字母E(乘幂)组成。在VisualFoxPro系统中,按存储、表示形式与取值范围不同,数值型数据又分为五种不同类型。①
数值型(Numeric)数值型数据由数字、小数点、正负号和字母E组成,用字母N表示。包括正负号、小数点和字母E在内,其长度(数据位数)最大20个字节。例如:23,-103.45,1.3E-5(即1.3×10-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/yyhh:mm:ssam|pm},其中mm、dd、yy的意义与日期型相同,hh、mm、ss分别表示小时、分钟、秒数,am和pm分别表示上午和下午。日期时间型数据也是采用固定长度8个字节。例如:{05/12/1010:30:30AM}
4.日期时间型(DateTime)日期时间型数据是表示日期和时间的数据,用字母T表示。4.逻辑型数据是描述客观事物真假的数据类型,用字母L表示。逻辑型数据只有真(.T.或.Y.)和假(.F.或.N.)两种,固定长度1个字节。为其他数据类型相互区别,一般在表示逻辑值的字母T、Y、F、N的前后加圆点符“.”。例如:?8>9结果为.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土木工程81820143menoGen1110070103霍国安.T.05/03/91土木工程81820123menogen1110070104刘思哲.T.08/04/91土木工程81820167menogen1210070101周炜.T.08/11/91测绘工程81820578menogen1210070103任楠.F.11/12/91测绘工程81820798menogen2310070137贾超.T.04/25/93软件工程81820467menoGen2320080119刘波.F.08/25/91信息安全81820673menogen2320080122刘宇航.T.02/09/93信息安全81820165menogen说明:表中的一行即为一条记录。表中一列即为一个字段,每个字段都有字段名,同一字段可以有多个不同的字段值。表2.1学生表例如:建立学生表的表结构。学号姓字段序号字段名类型字段宽度1学号字符型C102姓名字符型C63性别逻辑型L14出生日期日期型D85专业字符型C106电话字符型C87学籍信息备注型M48照片通用型G4表2.2学生表结构字段序号字段名类型字段宽度1学号字符型C102姓名字符型2.2常量与变量
常量:在命令或程序中可直接引用、具有具体值的数据项,其特征是在整个操作过程中其值和表现形式保持不变。VFP系统按常量取值的数据类型不同,分为6种类型:①数值型常量②字符型常量
③逻辑型常量④货币型常量⑤日期型常量⑥日期时间型常量2.2常量与变量常量:在命令或程序中可直接引用、具有具1.数值型常量由数字、小数点、E和正负号组成,表示整数或实数值。例如:100,-21,15.31,-210.512.货币型常量货币型常量以$符号开头,并四舍五入到小数4位。例如:货币型常量?$100.123453.逻辑型常量表示逻辑判断结果“真”或“假”的逻辑值。逻辑常量只有真和假两种值,分别用(.T.或.Y.)
和(.F.或.N.)表示真和假。一般应在逻辑常量的字母左右加“.”以示区别。1.数值型常量由任意ASCII字符和汉字字符组成的字符型数据。字符型常量又称为字符串。VFP系统要求将字符串中所有字符,用双引号、单引号或方括号作为定界符对括起来。例如:“12345”,[VisualFoxPro6.0关系数据库系统]和‘中华人民共和国’都是字符串。注意:如果字符串本身就包含一种定界符,则定界符要选择另外一种。如:“I’mastudent.”4.字符型常量由任意ASCII字符和汉字字符组成的字符型数据。字符4.字日期型常量在VisualFoxPro中,默认使用的是严格日期形式。格式:{^yyyy-mm-dd}或{^yyyy/mm/dd}。
例如:{^2012-09-11}日期时间型常量默认格式:{^yyyy-mm-ddhh:mm:ss[am|pm]}
例如:{^2012-09-1110:30:30am}5.日期型和日期时间型常量日期型常量5.日期型和日期时间型常量说明:日期值和日期时间值的输入格式与输出格式并不完全相同,输出格式与系统环境设置有关,可以根据需要进行相应地设置。①SETSTRICTDATETO1|0&&设置或取消严格日期②SETCENTURYON|OFF&&设置或取消4位数字年份
③SETDATETOAMERICAN&&设置美国日期格式④SETDATETOANSI&&设置中国日期格式
说明:日期值和日期时间值的输入格式与输出格式并不完全相变量:在命令操作和程序执行过程中其值允许变化的量。变量的分类:字段变量、内存变量和系统内存变量。变量的命名规则:①使用字母、下划线和数字命名,建议不采用汉字命名;②命名以字母或下划线开头,除字段名最多不超过10个字符外,其他命名可使用1~128个字符;
③避免使用VisualFoxPro系统的保留字,例如:LIST、
DISPLAY、USE、CREATE等;2.2.2变量变量:在命令操作和程序执行过程中其值允许变化的量。2.2.2①内存变量的概念由用户在内存中定义的、单个数据元素的临时性变量。②内存变量的数据类型
数值型、字符型、逻辑型、日期型和日期时间型③内存变量的赋值格式1:STORE<表达式>TO<内存变量表>功能:计算<表达式>的值并赋值给各个内存变量。格式2:<内存变量>=<表达式>功能:计算<表达式>的值并赋值给指定内存变量。1.内存变量①内存变量的概念1.内存变量例如:m1=12.34
m2="abcd"STORE"abcd"
TOm2STOREm1TOa,b,c说明:
STORE语句可以同时给多个变量赋值,但“=”赋值语句只能给一个变量赋值。内存变量在赋值时定义了它的值和类型,其类型与所赋的值的类型相同。③内存变量的赋值例如:m1=12.34③内存变量的赋值格式:?|??<输出项目表>功能:显示输出项目表中的各输出项。说明:单问号?表示在下一行输出。双问号??表示在当前行直接输出。输出项可以是常量、变量、表达式或者函数。例如:?m2,"123",2+8??a,b?
date(),time()④内存变量的输出格式:?|??<输出项目表>④内存变量的输出1.变量的显示格式:LIST|DISPLAYMEMORY[LIKE<通配符>]功能:显示当前已定义的内存变量名、作用范围、类型和值。2.变量的清除格式:RELEASE[<内存变量表>][ALL[LIKE<通配符>|EXCEPT<通配符>]]功能:从内存清除指定的内存变量。例如:LISTMEMORYLIKEm?RELEASEm1,m2RELEASEALLEXCEPT?b*&&清除除第2个字符为b以外的所有内存变量⑤内存变量的显示与清除1.变量的显示⑤内存变量的显示与清除表由若干记录构成,每个记录都包含若干个数量相同的字段,同一字段在不同记录中分别对应不同的字段值。因此字段也是变量。字段变量是定义在表中的变量,随表的存取而存取,因而是永久性变量。字段名就是变量名,字段值就是变量值,字段值的数据类型就是变量的数据类型。例如:USE学生表?学号,姓名,出生日期,专业2.字段变量表由若干记录构成,每个记录都包含若干个数量相同的字2.字段系统变量是VFP系统特有的内存变量,由VFP系统定义。系统变量其变量名均以下划线“_”开始。系统变量的功能:用于控制外部设备、屏幕输出格式或处理有关计算器、日历、剪贴板等方面的信息。例如:_DiaryDate:存储系统当前日期;
_Screen.FontSize:设置屏幕输出格式;
3.系统内存变量系统变量是VFP系统特有的内存变量,由VFP系统定义。3.2.3运算符和表达式1.运算符运算符:对数据对象进行加工处理的符号。运算符的分类:算术、字符、逻辑、关系和日期时间运算符运算符的优先级
圆括号>算术和日期运算>字符串运算>关系运算>逻辑运算2.表达式表达式:由常量、变量、函数与运算符组成的运算式。表达式的分类①算术表达式②字符表达式③关系表达式④逻辑表达式⑤日期时间表达式2.3运算符和表达式1.运算符算术表达式:由算术运算符将数值型数据连接起来组成的运算式,其运算对象和运算结果均为数值型数据。计算表达式的值:2*3^2+2*8/4+3^22.3.1算术运算符与表达式运算符功能表达式举例运算结果优先级()圆括号(2-5)*(3+2)-15最高
最低
-取相反数-(3-8)5
**、∧乘幂2**5、3^232、9
*、/乘、除2*10、25/520、5%取余15%6、15%-63、-3+、-加、减36+19、29-4755、-18算术表达式:由算术运算符将数值型数据连接起来组成的计算表达式字符表达式:由字符运算符将字符型数据连接起来进行运算的式子。运算对象是字符型数据,结果是字符常量。运算符功能举例运算结果优先级+串1+串2:两串顺序相连接"12□□"+"56""12□□56"1-串1-串2:串1尾空格移到串2尾后再顺序相连接"12□"-"56□""1256□□"12.3.2字符运算符与表达式字符表达式:由字符运算符将字符型数据连接起来进行运运算符功日期表达式:由日期运算符将一个日期型或日期时间型数据与一个数值型数据连接而成的运算式。日期表达式运算结果为日期型、日期时间型或整型数据。运算符功能举例+D+N:表示增加的天数{^2013-09-12}+10T+N:表示增加的秒数{^2013-09-1210:30:30}+12-D-N:表示减少的天数{^2013-09-12}-10T-N:表示减少的秒数{^2013-09-1210:30:30}-12D-D:表示相差的天数{^2013-10-01}-{^2013-09-12}2.3.3日期运算符及表达式日期表达式:由日期运算符将一个日期型或日期时间型数运算符功关系表达式:由关系运算符连接两个同类数据对象进行关系比较的运算式,其结果为逻辑值。2.3.4关系运算符及表达式运算符功能表达式举例结果<小于"汽车"<"飞机".F.>大于'A'>'1'.T.=等于2+4=3*5.F.<>、#、!=不等于5<>-10.T.<=小于或等于'abc'<='aB'.F.>=大于或等于{10-10-02}>={10/01/02}.T.==恒等'abc'=='abcabc'.F.$包含"123"$"a1234".T."123"$"12a3".F.关系表达式:由关系运算符连接两个同类数据对象进行关2.3.4①日期或日期时间数据以日期或时间的先后进行比较。②单个字符是以其ASCII码的大小作为字符的“大小”。③两个字符串进行比较是从左到右逐个字符进行比较。④汉字比较是以字母的顺序进行比较。⑤数值型数据按数值大小进行比较。说明:①日期或日期时间数据以日期或时间的先后进行比较。说明:逻辑表达式:由逻辑运算符将逻辑型数据连接而成的式子。逻辑表达式的运算对象与运算结果均为逻辑型数据。优先级:逻辑非>逻辑与>逻辑或ABA
AND
BA
OR
BNOTA.T..T..T..T..F..T..F..F..T..F..F..T..F..T..T..F..F..F..F..T.2.3.5逻辑运算符与表达式例如:?12>2AND"中华">"中国"
OR.T.<.F.
逻辑表达式:由逻辑运算符将逻辑型数据连接而成的式子。ABA2.4VisualFoxPro的函数函数:具有特定功能的程序段。函数三要素:函数名、参数、函数值函数的类型:数值型函数、字符型函数、逻辑型函数、日期型函数、数据转换函数。2.4.1数值函数1.绝对值函数ABS()
格式:ABS(<数值表达式>)
?ABS(-12.34)
功能:计算数值表达式的值,并返回值的绝对值。2.指数函数EXP()
格式:EXP(<数值表达式>)
?EXP(2)
功能:求e的<数值表达式>次方的值。2.4VisualFoxPro的函数函数:具有特定功能3.取整函数INT()格式:INT(<数值表达式>)?INT(14.73)功能:计算数值表达式的值,返回该值的整数部分。4.平方根函数SQRT()
格式:SQRT(<数值表达式>)?SQRT(9)
功能:求非负数值表达式的平方根。5.最大值函数MAX()和最小值函数MIN()
格式:MAX(<数值表达式1>,<数值表达式2>)MIN(<数值表达式1>,<数值表达式2>)
功能:返回两个<数值表达式>中的较大值和较小值。例如:?MAX(8,6),MIN(3,4*8,-6)3.取整函数INT()
6.求余数函数MOD()
格式:MOD(<数值表达式1>,<数值表达式2>)
功能:返回<数值表达式1>除以<数值表达式2>的余数。
余数的符号与<数值表达式2>的符号相同。例如:?MOD(-36,5),MOD(36,-5)
7.四舍五入函数ROUND()
格式:ROUND(<数值表达式1>,<数值表达式2>)功能:返回<数值表达式1>四舍五入的值,<数值表达式2>表示保留的小数位数。例如:?ROUND(12.345,2)2.4.1数值函数6.求余数函数MOD()2.4.1数值函数1.子串位置函数AT()格式:AT(<字符表达式1>,<字符表达式2>[,<数值表达式>])功能:返回<字符表达式1>在<字符表达式2>中第<数值表达式>次出现的位置。若<字符表达式2>不包含<字符表达式1>返回值为零。例如:?AT('bc','abcd'),AT('bc','abcdbc',2),AT('bc','abd',1)2.取左子串函数LEFT()格式:LEFT(<字符表达式>,<数值表达式>)功能:返回从<字符表达式>中左起第一个字符开始,截取<数值表达式>个字符的子串。例如:?LEFT("数据库系统原理",6),LEFT("DBMS",2)2.4.2字符函数1.子串位置函数AT()2.4.2字符函数3.取右子串函数RIGHT()格式:RIGHT(<字符表达式>,<数值表达式>)功能:从<字符表达式>中右边第一个字符开始,截取<数值表达式>个字符的子串。例如:?RIGHT("数据库系统原理",4),RIGHT("DBMS",2)4.取子串函数SUBSTR()格式:SUBSTR(<字符表达式>,<数值表达式1>[,<数值表达式2])功能:从<字符表达式>中第<数值表达式1>个字符开始,截取<数值表达式2>个字符的子串。例如:?SUBSTR("数据库系统原理",7,4)2.4.2字符函数3.取右子串函数RIGHT()2.4.2字符函数
5.删除字符串前导空格函数LTRIM()格式:LTRIM(<字符表达式>)功能:删除<字符表达式>的前导空格。
6.删除字符串尾部空格函数RTRIM()
格式:RTRIM(<字符表达式)功能:删除<字符表达式>中尾部空格。7.删除字符串前导和尾部空格函数ALLTRIM()
格式:ALLTRIM(<字符表达式>)功能:删除字符表达式中前导和尾部空格。例如:?LTRIM("abcd"),RTRIM("abcd")?ALLTRIM("abcd")2.4.2字符函数5.删除字符串前导空格函数LTRIM()2.4.2字8.字符串长度函数LEN()格式:LEN(<字符表达式>功能:返回字符串的长度,函数返回值为N型。例如:?LEN("数据库"),LEN("DataBase")9.空格函数SPACE()格式:SPACE(<数值表达式>)功能:返回数值表达式个空格。?SPACE(5),"输出5个空格"10.大小写转换函数LOWER()
和UPPER()格式:LOWER|UPPER(<字符表达式>)功能:将大小写字母相互转换。例如:?UPPER("aBCd"),LOWER("aBCd")2.4.2字符函数8.字符串长度函数LEN()2.4.2字符函数1.系统日期型函数DATE()格式:DATE()功能:返回系统当前日期。?DATE()2.系统时间函数TIME(
)格式:TIME()功能:返回系统当前时间。?TIME()3.年份函数YEAR()格式:YEAR(<日期表达式>)功能:函数返回<日期表达式>中年份值,函数值为N型。例如:?YEAR(DATE())2.4.3日期型函数1.系统日期型函数DATE()2.4.3日期型函数1.字符数值型转换函数VAL()格式:VAL(<字符表达式>)功能:从<字符表达式>最左边字符开始,在忽略前置空格的情形下由左向右将阿拉伯数字字符转换成数值,直到遇到一个非数字字符为止,如果<字符表达式>的第一个字符不是阿拉伯数字,则函数值为零。例如:?VAL("a12"),VAL("123")?VAL("123a"),VAL("12a3")2.4.4数据转换函数1.字符数值型转换函数VAL()2.4.4数据转换函数2.数值字符型转换函数STR()格式:STR(<数值表达式1>[,<数值表达式2>][,<数值表达式3>])功能:将<数值表达式1>的数值转换成长度为<数值表达式2>位,具有<数值表达式3>位小数的字符串。例如:?STR(0.258,4,2),STR(0.258,3,1)3.字符日期型函数CTOD()格式:CTOD(<字符表达式>)功能:将<字符表达式>转换为日期。?CTOD("03/14/12")4.日期字符型函数DTOC()格式:DTOC(<日期表达式>)
?DTOC({^2012-03-14})功能:将<日期表达式>转换为字符串。2.4.4数据转换函数2.数值字符型转换函数STR()2.4.4数据转换函数1.表结束标志测试函数EOF()格式:EOF([<工作区>])功能:测试记录指针是否移到表结束处。如果记录指针指向表中尾记录之后,函数返回值为.T.,否则为.F.。2.表起始标志测试函数BOF()格式:BOF([<工作区>])功能:测试记录指针是否移到表起始处。如果记录指针指向表中首记录前面,函数返回值为.T.,否则为.F.。例如:USE学生表
GOBOTTOMSKIP1?EOF()GOTOPSKIP-1?BOF()
2.4.5测试函数1.表结束标志测试函数EOF()2.4.5测试函数第2章VisualFoxPro语言基础上篇语言基础第2章VisualFoxPro语言基础上篇语言基础数据类型和数据存储方式常量和变量运算符和表达式函数本章要求:理解数据类型的定义及数据存储方式掌握各种类型常量的书写格式、内存变量的使用掌握运算符的用法及运算符的优先级掌握字符函数、数值计算函数、日期时间函数、数据类型转换函数和测试函数的使用主要内容:数据类型和数据存储方式主要内容:2.1数据类型
数据是描述事物的符号记录,是对客观事物及其属性的描述。数据包括两个方面:数据内容与数据形式。数据内容就是数据的值,数据形式就是数据的存储形式和操作使用方式,也称为数据类型。VFP系统为方便用户建立和操作数据库,将系统中所有操作处理的数据,分为几种不同数据类型:字符型、数值型、逻辑型、日期型、日期时间型、备注型、通用型、二进制字符型和二进制备注型。2.1数据类型数据是描述事物的符号记录,是对客观事物及其1.字符型(Character)字符型数据是描述不具有计算能力的文字数据类型,是常用的数据类型之一。字符型数据用字母C表示。由汉字和ASCII字符集中可打印字符(英文字符、数字字符、空格及其他专用字符)组成,最大长度是254个字符。说明:字母、数字、空格及其他专用字符,占1个字节存储空间。一个汉字相当于两个字符,占2个字节存储空间。1.字符型(Character)字符型数据是描述不具有计算数值型数据是表示数量、可以进行数值运算的数据类型。数值型数据由数字、小数点、正负号和字母E(乘幂)组成。在VisualFoxPro系统中,按存储、表示形式与取值范围不同,数值型数据又分为五种不同类型。①
数值型(Numeric)数值型数据由数字、小数点、正负号和字母E组成,用字母N表示。包括正负号、小数点和字母E在内,其长度(数据位数)最大20个字节。例如:23,-103.45,1.3E-5(即1.3×10-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/yyhh:mm:ssam|pm},其中mm、dd、yy的意义与日期型相同,hh、mm、ss分别表示小时、分钟、秒数,am和pm分别表示上午和下午。日期时间型数据也是采用固定长度8个字节。例如:{05/12/1010:30:30AM}
4.日期时间型(DateTime)日期时间型数据是表示日期和时间的数据,用字母T表示。4.逻辑型数据是描述客观事物真假的数据类型,用字母L表示。逻辑型数据只有真(.T.或.Y.)和假(.F.或.N.)两种,固定长度1个字节。为其他数据类型相互区别,一般在表示逻辑值的字母T、Y、F、N的前后加圆点符“.”。例如:?8>9结果为.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土木工程81820143menoGen1110070103霍国安.T.05/03/91土木工程81820123menogen1110070104刘思哲.T.08/04/91土木工程81820167menogen1210070101周炜.T.08/11/91测绘工程81820578menogen1210070103任楠.F.11/12/91测绘工程81820798menogen2310070137贾超.T.04/25/93软件工程81820467menoGen2320080119刘波.F.08/25/91信息安全81820673menogen2320080122刘宇航.T.02/09/93信息安全81820165menogen说明:表中的一行即为一条记录。表中一列即为一个字段,每个字段都有字段名,同一字段可以有多个不同的字段值。表2.1学生表例如:建立学生表的表结构。学号姓字段序号字段名类型字段宽度1学号字符型C102姓名字符型C63性别逻辑型L14出生日期日期型D85专业字符型C106电话字符型C87学籍信息备注型M48照片通用型G4表2.2学生表结构字段序号字段名类型字段宽度1学号字符型C102姓名字符型2.2常量与变量
常量:在命令或程序中可直接引用、具有具体值的数据项,其特征是在整个操作过程中其值和表现形式保持不变。VFP系统按常量取值的数据类型不同,分为6种类型:①数值型常量②字符型常量
③逻辑型常量④货币型常量⑤日期型常量⑥日期时间型常量2.2常量与变量常量:在命令或程序中可直接引用、具有具1.数值型常量由数字、小数点、E和正负号组成,表示整数或实数值。例如:100,-21,15.31,-210.512.货币型常量货币型常量以$符号开头,并四舍五入到小数4位。例如:货币型常量?$100.123453.逻辑型常量表示逻辑判断结果“真”或“假”的逻辑值。逻辑常量只有真和假两种值,分别用(.T.或.Y.)
和(.F.或.N.)表示真和假。一般应在逻辑常量的字母左右加“.”以示区别。1.数值型常量由任意ASCII字符和汉字字符组成的字符型数据。字符型常量又称为字符串。VFP系统要求将字符串中所有字符,用双引号、单引号或方括号作为定界符对括起来。例如:“12345”,[VisualFoxPro6.0关系数据库系统]和‘中华人民共和国’都是字符串。注意:如果字符串本身就包含一种定界符,则定界符要选择另外一种。如:“I’mastudent.”4.字符型常量由任意ASCII字符和汉字字符组成的字符型数据。字符4.字日期型常量在VisualFoxPro中,默认使用的是严格日期形式。格式:{^yyyy-mm-dd}或{^yyyy/mm/dd}。
例如:{^2012-09-11}日期时间型常量默认格式:{^yyyy-mm-ddhh:mm:ss[am|pm]}
例如:{^2012-09-1110:30:30am}5.日期型和日期时间型常量日期型常量5.日期型和日期时间型常量说明:日期值和日期时间值的输入格式与输出格式并不完全相同,输出格式与系统环境设置有关,可以根据需要进行相应地设置。①SETSTRICTDATETO1|0&&设置或取消严格日期②SETCENTURYON|OFF&&设置或取消4位数字年份
③SETDATETOAMERICAN&&设置美国日期格式④SETDATETOANSI&&设置中国日期格式
说明:日期值和日期时间值的输入格式与输出格式并不完全相变量:在命令操作和程序执行过程中其值允许变化的量。变量的分类:字段变量、内存变量和系统内存变量。变量的命名规则:①使用字母、下划线和数字命名,建议不采用汉字命名;②命名以字母或下划线开头,除字段名最多不超过10个字符外,其他命名可使用1~128个字符;
③避免使用VisualFoxPro系统的保留字,例如:LIST、
DISPLAY、USE、CREATE等;2.2.2变量变量:在命令操作和程序执行过程中其值允许变化的量。2.2.2①内存变量的概念由用户在内存中定义的、单个数据元素的临时性变量。②内存变量的数据类型
数值型、字符型、逻辑型、日期型和日期时间型③内存变量的赋值格式1:STORE<表达式>TO<内存变量表>功能:计算<表达式>的值并赋值给各个内存变量。格式2:<内存变量>=<表达式>功能:计算<表达式>的值并赋值给指定内存变量。1.内存变量①内存变量的概念1.内存变量例如:m1=12.34
m2="abcd"STORE"abcd"
TOm2STOREm1TOa,b,c说明:
STORE语句可以同时给多个变量赋值,但“=”赋值语句只能给一个变量赋值。内存变量在赋值时定义了它的值和类型,其类型与所赋的值的类型相同。③内存变量的赋值例如:m1=12.34③内存变量的赋值格式:?|??<输出项目表>功能:显示输出项目表中的各输出项。说明:单问号?表示在下一行输出。双问号??表示在当前行直接输出。输出项可以是常量、变量、表达式或者函数。例如:?m2,"123",2+8??a,b?
date(),time()④内存变量的输出格式:?|??<输出项目表>④内存变量的输出1.变量的显示格式:LIST|DISPLAYMEMORY[LIKE<通配符>]功能:显示当前已定义的内存变量名、作用范围、类型和值。2.变量的清除格式:RELEASE[<内存变量表>][ALL[LIKE<通配符>|EXCEPT<通配符>]]功能:从内存清除指定的内存变量。例如:LISTMEMORYLIKEm?RELEASEm1,m2RELEASEALLEXCEPT?b*&&清除除第2个字符为b以外的所有内存变量⑤内存变量的显示与清除1.变量的显示⑤内存变量的显示与清除表由若干记录构成,每个记录都包含若干个数量相同的字段,同一字段在不同记录中分别对应不同的字段值。因此字段也是变量。字段变量是定义在表中的变量,随表的存取而存取,因而是永久性变量。字段名就是变量名,字段值就是变量值,字段值的数据类型就是变量的数据类型。例如:USE学生表?学号,姓名,出生日期,专业2.字段变量表由若干记录构成,每个记录都包含若干个数量相同的字2.字段系统变量是VFP系统特有的内存变量,由VFP系统定义。系统变量其变量名均以下划线“_”开始。系统变量的功能:用于控制外部设备、屏幕输出格式或处理有关计算器、日历、剪贴板等方面的信息。例如:_DiaryDate:存储系统当前日期;
_Screen.FontSize:设置屏幕输出格式;
3.系统内存变量系统变量是VFP系统特有的内存变量,由VFP系统定义。3.2.3运算符和表达式1.运算符运算符:对数据对象进行加工处理的符号。运算符的分类:算术、字符、逻辑、关系和日期时间运算符运算符的优先级
圆括号>算术和日期运算>字符串运算>关系运算>逻辑运算2.表达式表达式:由常量、变量、函数与运算符组成的运算式。表达式的分类①算术表达式②字符表达式③关系表达式④逻辑表达式⑤日期时间表达式2.3运算符和表达式1.运算符算术表达式:由算术运算符将数值型数据连接起来组成的运算式,其运算对象和运算结果均为数值型数据。计算表达式的值:2*3^2+2*8/4+3^22.3.1算术运算符与表达式运算符功能表达式举例运算结果优先级()圆括号(2-5)*(3+2)-15最高
最低
-取相反数-(3-8)5
**、∧乘幂2**5、3^232、9
*、/乘、除2*10、25/520、5%取余15%6、15%-63、-3+、-加、减36+19、29-4755、-18算术表达式:由算术运算符将数值型数据连接起来组成的计算表达式字符表达式:由字符运算符将字符型数据连接起来进行运算的式子。运算对象是字符型数据,结果是字符常量。运算符功能举例运算结果优先级+串1+串2:两串顺序相连接"12□□"+"56""12□□56"1-串1-串2:串1尾空格移到串2尾后再顺序相连接"12□"-"56□""1256□□"12.3.2字符运算符与表达式字符表达式:由字符运算符将字符型数据连接起来进行运运算符功日期表达式:由日期运算符将一个日期型或日期时间型数据与一个数值型数据连接而成的运算式。日期表达式运算结果为日期型、日期时间型或整型数据。运算符功能举例+D+N:表示增加的天数{^2013-09-12}+10T+N:表示增加的秒数{^2013-09-1210:30:30}+12-D-N:表示减少的天数{^2013-09-12}-10T-N:表示减少的秒数{^2013-09-1210:30:30}-12D-D:表示相差的天数{^2013-10-01}-{^2013-09-12}2.3.3日期运算符及表达式日期表达式:由日期运算符将一个日期型或日期时间型数运算符功关系表达式:由关系运算符连接两个同类数据对象进行关系比较的运算式,其结果为逻辑值。2.3.4关系运算符及表达式运算符功能表达式举例结果<小于"汽车"<"飞机".F.>大于'A'>'1'.T.=等于2+4=3*5.F.<>、#、!=不等于5<>-10.T.<=小于或等于'abc'<='aB'.F.>=大于或等于{10-10-02}>={10/01/02}.T.==恒等'abc'=='abcabc'.F.$包含"123"$"a1234".T."123"$"12a3".F.关系表达式:由关系运算符连接两个同类数据对象进行关2.3.4①日期或日期时间数据以日期或时间的先后进行比较。②单个字符是以其ASCII码的大小作为字符的“大小”。③两个字符串进行比较是从左到右逐个字符进行比较。④汉字比较是以字母的顺序进行比较。⑤数值型数据按数值大小进行比较。说明:①日期或日期时间数据以日期或时间的先后进行比较。说明:逻辑表达式:由逻辑运算符将逻辑型数据连接而成的式子。逻辑表达式的运算对象与运算结果均为逻辑型数据。优先级:逻辑非>逻辑与>逻辑或ABA
AND
BA
OR
BNOTA.T..T..T..T..F..T..F..F..T..F..F..T..F..T..T..F..F..F..F..T.2.3.5逻辑运算符与表达式例如:?12>2AND"中华">"中国"
OR.T.<.F.
逻辑表达式:由逻辑运算符将逻辑型数据连接而成的式子。ABA2.4VisualFoxPro的函数函数:具有特定功能的程序段。函数三要素:函数名、参数、函数值函数的类型:数值型函数、字符型函数、逻辑型函数、日期型函数、数据转换函数。2.4.1数值函数1.绝对值函数ABS()
格式:ABS(<数值表达式>)
?ABS(-12.34)
功能:计算数值表达式的值,并返回值的绝对值。2.指数函数EXP()
格式:EXP(<数值表达式>)
?EXP(2)
功能:求e的<数值表达式>次方的值。2.4VisualFoxPro的函数函数:具有特定功能3.取整函数INT()格式:INT(<数值表达式>)?INT(14.73)功能:计算数值表达式的值,返回该值的整数部分。4.平方根函数SQRT()
格式:SQRT(<数值表达式>)?SQRT(9)
功能:求非负数值表达式的平方根。5.最大值函数MAX()和最小值函数MIN()
格式:MAX(<数值表达式1>,<数值表达式2>)MIN(<数值表达式1>,<数值表达式2>)
功能:返回两个<数值表达式>中的较大值和较小值。例如:?MAX(8,6),MIN(3,4*8,-6)3.取整函数INT()
6.求余数函数MOD()
格式:MOD(<数值表达式1>,<数值表达式2>)
功能:返回<数值表达式1>除以<数值表达式2>的余数。
余数的符号与<数值表达式2>的符号相同。例如:?MOD(-36,5),MOD(36,-5)
7.四舍五入函数ROUND()
格式:ROUND(<数值表达式1>,<数值表达式2>)功能:返回<数值表达式1>四舍五入的值,<数值表达式2>表示保留的小数位数。例如:?ROUND(12.345,2)2.4.1数值函数6.求余数函数MOD()2.4.1数值函数1.子串位置函数AT()格式:AT(<字符表达式1>,<字符表达式2>[,<数值表达式>])功能:返回<字符表达式1>在<字符表达式2>中第<数值表达式>次出现的位置。若<字符表达式2>不包含<字符表达式1>返回值为零。例如:?AT('bc','abcd'),AT('bc','abcdbc',2),AT('bc','abd',1)2.取左子串函数LEFT()格式:LEFT(<字符表达式>,<数值表达式>)功能:返回从<字符表达式>中左起第一个字符开始,截取<数值表达式>个字符的子串。例如:?LEFT("数据库系统原理",6),LEFT("DBMS",2)2.4.2字符函数1.子串位置函数AT()2.4.2字符函数3.取右子串函数RIGHT()格式:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 近视防控护眼课件
- 近视防控专家宣讲课件
- 四川天府新区人民医院招聘真题2024
- 2024年镇江市丹徒区事业单位招聘考试真题
- 吉林烟草工业有限责任公司长春卷烟厂真题2024
- 2024年内蒙古呼伦贝尔市招聘中小学教师考试真题
- 2025年03月甘肃省科学技术协会直属事业单位公开招聘工作人员笔试历年参考题库考点剖析附解题思路及答案详解
- 北京农业职业学院招聘真题2024
- 护理安全知识标识
- 法语与西班牙语的语法对比研究论文
- 2025新疆机场(集团)有限责任公司阿克苏管理分公司第一季度招聘(75人)笔试参考题库附带答案详解
- 全国计算机等级考试《三级信息安全技术》专用教材【考纲分析+考点精讲+真题演练】
- DB13-T 5996-2024 公路基层病害聚合物注浆处治技术规程
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 小学数学主题活动设计一年级《欢乐购物街》
- JJG(晋) 13-2021 机动车区间测速仪
- 体外循环意外时麻醉医生该做些什么?
- 基于语音信号去噪处理的FIR低通滤波器设计要点
- (完整word版)男衬衫的制作工艺
- 家和万事兴-善人道
- 信用社(银行)清产核资实施方案
评论
0/150
提交评论