VisualFoxPro的数据类型.ppt_第1页
VisualFoxPro的数据类型.ppt_第2页
VisualFoxPro的数据类型.ppt_第3页
VisualFoxPro的数据类型.ppt_第4页
VisualFoxPro的数据类型.ppt_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章 Visual FoxPro的数据类型 【教学目标】 理解并掌握Visual FoxPro 6.0的数据类型 理解并掌握Visual FoxPro 6.0的表达式 理解并掌握Visual FoxPro 6.0的常用函数,【教学内容】 数据类型 常量与变量 表达式 常用函数、其它函数,【重点和难点】 重点 数据类型概念 常量与变量概念 表达式的概念及类型 运算符的类型及优先级 函数功能及用法 难点 运算符的类型及优先级,2.1 数据类型和字段类型,VFP提供了多种数据类型,各种类型的数据可以保存在表、数组、变量以及其他数据容器中。 所有数据都有其所属类型。类型就是对数据的允许取值以及这个值的范围进行的说明。,2.2.1 字符型 字符型数据包括普通字符型和二进制字符型两种。 1普通字符型(Character) 普通字符型简称字符型。 2二进制字符型(Character Binary) 二进制字符型与字符型基本相同,只是在代码页改变时,其值不会随之而改变。 2.2.2 货币型 货币型(Currency)用来存储与货币有关的数据。,2.2.3 数值型 数值型数据是描述数量的常用数据类型,它包括普通数值型、浮动型、双精度型和整型四种。 1 普通数值(Numeric)型 普通数值型数据简称为数值型。 2浮动(Float)型 浮动型即浮点型。 3双精度(Double)型 双精度型是精度更高的数值类型数据,仅用于表中的数值型字段定义。 4整(Integer)型 整型是一种无小数部分的数值类型数据,它只用于表中数值型字段的定义。,2.2.4 逻辑型 逻辑(Logical)型数据描述客观事物的真(.T.)与假(.F.),用来表示逻辑判断的结果,逻辑型数据的长度固定为1位。 2.2.5 日期型 日期(Date)型数据是用来表示日期的数据类型,其缺省格式为:mm/dd/yy。mm代表月份,dd代表日,yyyy代表年份,日期型数据的长度固定为8位。 2.2.6 日期时间型 日期时间型(Date Time)数据是用来表示日期和时间的数据类型,其缺省格式是: mm/dd/yy hh:mm:ss。,2.2.7 备注型 备注型数据分为普通备注型和二进制备注型两类,其作用基本相同。 1普通备注(Mome)型 普通备注型简称备注型。 2二进制备注(Memo Binary)型 二进制备注型与备注型相同,但当代码页改变时其值会随之而改变。,2.2.8 通用型 通用(General)型数据仅用于表中的字段类型定义,它实际上是一种特殊的备注型数据。,2.3 Visual FoxPro 6.0中的数据存储 数据容器,这些供数据存储用的常量、变量、数组、字段、记录、对象一律称为数据存储容器,简称为数据容器(Data Volume,简写为dvol)。 2.3.1 常量 常量(Constant)是在程序或命令执行过程中保持不变的数据,是在命令或程序中被直接引用的实际值。它分为数值型、浮点型、字符型、逻辑型、日期型和日期时间型及用户自创建型7种。,1数值(Numeric)型常量 数值型常量可以是实数或整数。 例:3.1415926 2浮点(Float)型常量 浮点型常量是数值型常量的浮点格式,它采用科学计数法表示。 3字符(Character)型常量 字符型常量是用字符型常量的定界符(一对单引号 、双引号“”、方括号 )括起来的汉字或可打印的ASCII字符串。例:“ABC”,张华,3.15 4逻辑(Logical)型常量 逻辑型常量由表示判断结果为“真”或“假”的符号组成。它只有两个值:.T.、.F.或.t.、.f.。,5日期(Date)型常量 日期型常量用来表示日期,其规定的书写格式为:yyyy/mm/dd。 3/15/1999,4/1/1999 10:00am 6日期时间(Date Time)型常量 日期时间型常量用来表示日期和时间,其规定的书写格式为:yyyy/mm/dd hh:mm:ss。 7. 编译时常量:#DEFINE OPERRSTR “数据非法”,此时OPERRSTR为编译时常量,表示“数据非法”,在程序中此常量名不能再作为变量名作用。 8用户自创建常量 这是在应用程序中由用户自己创建的任意类型的常量,类似于其他高级语言中的符号常量。,5.2.2 变量 变量是内存中的一个存储单元的位置,变量名是存储位置的符号标识。通过变量名可以访问该存储单元。 1. 变量的创建 可以使用赋值等命令创建变量,其格式为: 变量名 = 表达式 或者 STORE 表达式 TO 变量名列表 例如 A=3.14 STORE 1 TO A,B,C COUNT TO 人数 FOR nINC = 1 TO 10 ? nINC ENDFOR,2. 变量的作用域 变量只在应用程序运行时或创建它的工作区中才存在。 用LOCAL指定的变量为局部变量 用PRIVATE指定的变量为私有变量 用PUBLIC指定的变量为全局(公共)变量 在程序中未用上述命令指定的变量默认为局部变量。 在命令窗口中创建的变量或数组被自动赋予全局属性。 3. 变量的访问 变量可以用变量名来访问,但若此时存在同名的字段变量,则优先访问字段变量。若特指访问内存变量,需在变量名前加前缀 或M符号。 例如:M-A,M.A,M-nINC,4、内存变量的显示 命令格式: LIST | DISPLAY MEMORY LIKE TO PRINTER PROMPT |TO FILE 功能:显示当前已定义的内存变量名、作用范围、类型、值,说明: )、LIKE 子句表示将选出与通配符(* 、?)相匹配的 内存变量 LIST MEMORY LIKE ? LIKE 子句项缺省则显示全部内存变量以及其个数、 字节数 )、选项 TO PRINTER 将屏幕显示内容输出到打印 机;使用 PROMPT 选项则提供是否打印的提示窗口;TO FILE 则将显示内容存入文件。,5、内存变量的释放 命令格式 RELEASE ALLLIKE|EXCEPT 功能:从内存清除指定的内存变量(释放内存) 例:RELEASE a,b RELEASE ALL RELEASE ALL LIKE a* RELEASE ALL EXCEPT ?b*,6、内存变量的保存和恢复 命令格式 SAVE TO ALLLIKE| 功能:将所有用户定义的内存变量都写入一个文件中(缺省扩展名是.MEM) 例:SAVE ALL LIKE m* TO myfile,VFP 标识符的命名规则 、字段、文件命名规则 、内存变量、函数名命名规则 以字母(或汉字)或下划线开头;由字母、数字、下划线组 成;至多128个字符。不可与系统保留字同名。 内存变量使用方法 命令格式: 例:s=“VFP”; w=12.12;,命令格式: STORE TO 例:STORE 2*4 TO n1,n2,n3 表达式值的显示命令 命令格式:? 功能:计算表达式的值,并将其显示在屏幕上。 注:)、?符号“”表示左、右任选一个。 )、? 换行显示表达式的值 ? 紧接上一条命令显示结果后显示,3.4.1 数值函数,1ABS()函数 格式: ABS() 功能: ABS()函数返回指定的数值表达式的绝对值。 2SIGN()函数 格式: SIGN() 功能: SIGN()函数返回指定数值表达式的符号。 当表达式的结果为正、负和0时,函数值分别为1、-1和0。,3SQRT()函数 格式: SQRT() 功能: SQRT()函数返回数值表达式的平方根。 4PI()函数 格式: PI() 功能: PI()函数返回数值常量的近似值。,5INT()函数 格式: INT() 功能: INT()函数返回数值表达式的整数部分。 6CELING()函数 格式: CELING() 功能: CELING()函数返回大于或等于数值表达式的最小整数。,7FLOOR()函数 格式: FLOOR() 功能: FLOOR()函数返回小于或等于数值表达式的最大整数。 8ROUND()函数 格式: ROUND(,) 功能: ROUND()函数返回数据表达式在指定位置四舍五入后的结果。,9MOD()函数 格式: MOD(, ) 功能: MOD()函数返回除以两个数相除后的余数。余数的正负号与除数相同。 如果被除数与除数同号,那么函数值就为两数相除的余数。 如果被除数与除数异号,则函数值为两数相除的余数再加上除数的值。,10MAX()函数 格式: MAX( ,) 功能: MAX()函数返回数值表达式中的最大值表达式。 11MIN()函数 格式: MIN( ,) 功能: MIN()函数返回数值表达式中的最小值表达式。,3.4.2 字符函数,1LEN()函数 格式: LEN() 功能: LEN()函数返回字符表达式值的长度,函数值为数值型。 2SPACE()函数 格式: SPACE() 功能: SPACE()函数生成指定空格数的空字符串。,3LTRIM()函数 格式: LTRIM() 功能: LTRIM()函数删除串尾空格字符。 4ALLTRIM()函数 格式: ALLTRIM() 功能: ALLTRIM ()函数删除首尾空格字符。,5LEFT()函数 格式: LEFT(,) 功能: LEFT()函数从字符表达式值的左端取一个指定长度的子串作为函数值。 6RIGHT()函数 格式: RIGHT (,) 功能: RIGHT()函数从字符表达式值的右端取一个指定长度的子串作为函数值。,7SUBSTR()函数 格式: SUBSTR(,) 功能: SUBSTR()函数从表达式值的起始位置取一个指定长度的子串作为函数值。 8OCCURS()函数 格式: OCCURS(,) 功能: OCCURS()函数返回第一个字符串在第二个字符串中出现的次数。,9AT()函数 格式: AT(, , ) 功能: AT()函数返回值的首字符在值中的位置。 10STUFF()函数 格式: STUFF(,) 功能: STUFF()函数用串替换串中由和指明的一个子串。,11TRIM()/RTRIM( )函数 格式: TRIM()/RTRIM) 功能: 这两个函数功能相同,都是删除尾部的空格。若字符表达式全由空格组成,则函数返回空串。 12CHRTRAN()函数 格式: CHRTRAN(,) 功能: 在中,将与相匹配的字符串用字符表达式3替换。,3.4.3 日期时间函数,1DATE()函数 格式: DATE() 功能: DATE()函数返回当前系统日期,函数值为日期型。 2TIME()函数 格式: TIME () 功能: TIME()函数以24小时制,hh:mm:ss格式返回当前系统时间,函数值为字符型。,3DATETIME()函数 格式: DATETIME() 功能: DATETIME()函数返回当前系统日期时间,函数值为日期时间型。 4YEAR()函数 格式: YEAR () 功能: YEAR ()从指定的日期表达式或日期时间表达式中返回年份。,5MONTH()函数 格式: MONTH (|) 功能: MONTH ()从指定的日期表达式或日期时间表达式中返回月份。 6DAY()函数 格式: DAY (|) 功能: DAY ()从指定的日期或日期时间表达式中返回月份中的天数。,7HOUR()函数 格式: HOUR () 功能: HOUR()函数从日期时间表达式中返回小时部分(24小时制)。 8MINUTE()函数 格式: MINUTE () 功能: MINUTE()函数从日期时间表达式中返回分钟部分。,9SEC()函数 格式: SEC () 功能: SEC()函数从日期时间表达式中返回秒数部分。 10DOW()函数 格式: DOW () 功能: DOW()函数返回日期表达式或日期时间表达式返回该日期是一周的第几天, 17表示星期日星期六。,3.4.4 数据类型转换函数,1STR()函数 格式: STR( , , ) 功能: STR()函数将按设定的和转换成字符型数据,函数返回值为字符型。 2VAL()函数 格式: VAL () 功能: VAL()将数值字符串转换为数值。,3CTOD()函数 格式: CTOD () 功能: CTOD()函数将“mm/dd/yy”格式的串转换成对应的日期值,返回的函数值为日期型。 4DTOC()函数 格式: DTOC (|,1) 功能: DTOC()函数将转换成字符串,函数返回值类型为字符型。,5ASC函数 格式: ASC(cExp) 功能: 该函数返回字符型表达式cExp中首字符的ASCII码值。 6CHR函数 格式: CHR(nExp) 功能: 该函数返回由数值型表达式nExp的值转换成相应的ASCII字符。其中,nExp的值必须在0255之间。,7UPPER函数 格式: UPPER(cExp) 功能: 该函数将字符型表达式cExp中所有小写字母转换为大写字母。 8LOWER函数 格式: LOWER(nExp) 功能: 该函数将字符型表达式nExp中所有的大写字母转换成小写字母。,3.4.5 测试函数,1BETWEEN()函数 格式: BETWEEN(,) 功能: BETWEEN()函数判断一个表达式的值是否在另外两个表达式的值之间。 当值大于等于且小于等于时,函数值为逻辑真(.T.),否则函数值为逻辑假(.F.)。 如果或有一个是NULL值,则函数值也是NULL值。,2ISNULL()函数 格式: ISNULL () 功能: ISNULL()函数判断一个表达式的运算结果是否为.NULL.值,如果是.NULL.值,则返回逻辑真(.T.),否则逻辑值假(.F.)。 3EMPTY()函数 格式: EMPTY () 功能: EMPTY()函数根据表达式的运算结果是否为“空”值,返回逻辑真(.T.)或逻辑假(.F.)。,4TYPE()函数 格式: TYPE () 功能: TYPE ()函数返回表达式的值的类型,返回值是一个大写字母。 5INLIST()函数 格式: INLIST (、 ,) 功能: INLIST ()函数判断第一个表达式的值是否与后面表达式值中的某个匹配。当表达式1的值等于后面的表达式其中之一时,函数返回.T.,否则返回.f.。,6ISBLANK()函数 格式: ISBLANK () 功能: ISBLANK ()函数判断表达式是否为空值,返回值是一个大写字母。当表达式为空字符串,空格或空日期时,函数返回.T.,否则返回.f.。,表3.7 不同类型数据的“空”值规定,3.5 数据库类函数 一、字段处理函数,1FCOUNT()函数 格式: FCOUNT (nWorkArear/cAlias) 功能: FCOUNT ()函数返回指定工作区中所打开表的字段数目,若指定工作区中没有表被打开,则返回0。 2FIELD()函数 格式: FIELD(nExp、 ,cAlias) 功能: FIELD ()函数返回指定工作区中指定字段或文件的大小。该函数与LEN()函数不同, LEN()只能返回字符串的长度,FSIZE( )可以返回各种类型字段的大小。,1BOF()函数 格式: BOF (|) 功能: BOF()函数测试当前表文件中的记录指针是否指向文件首,如果是则返回逻辑真(.T.),否则返回逻辑假(.F.)。 2EOF()函数 格式: EOF ( | ) 功能: 测试记录指针是否指向文件尾,如果是返回逻辑真(.T.),否则返回逻辑假(.F.)。,二、记录处理函数,3RECNO()函数 格式: RECNO( | ) 功能: RECNO()函数返回当前表文件中当前记录的记录号。 4FILTER()函数 格式: FILTER(nWorkArea /cAlias ) 功能: FILTER ()函数返回指定数据表中由SET FILTER命令指定的筛选表达式。,5RECCOUNT()函数 格式: RECCOUNT ( | ) 功能: RECCOUNT()函数返回当前表文件中的记录个数,如果指定工作区上没有打开表文件,函数值为0。 6DELETED()函数 格式: DELETED ( | ) 功能: DELETED()函数测试指定工作区中打开的表,记录指针所指的当前记录是否有删除标记“*”,如果有则为真,否则为假。,7SEEK()函数 格式: SEEK (表达式) 功能: SEEK()函数用于在当前工作区,根据当前主索引,查找与表达式值相匹配的第一条记录,若查找成功,返回.T.,否则返回.F.。 8FOUND()函数 格式: FOUND (nWorkArea /cAlias ) 功能: FOUND ()函数用于执行查询命令LOCATE、CONTINUE、FIND或SEEK后,判断查找是否成功,若查找成功,返回.T.,否则返回.F.。,1CDX()函数 格式: CDX (nExp,cAlias) 功能: CDX ()函数返回指定工作区的第nExp个.CDX文件名。 2ORDER()函数 格式: ORDER (cAlias,1) 功能: 返回主控索引文件名(.IDX文件)或索引标识名(.CDX文件),选择第二个参数1,可以获得文件路径。,三、索引函数,3TAG()函数 格式: TAG (CDXcFileName,nExp,cAlias) 功能: 该函数返回任一独立索引文件名(.IDX文件)或索引标识名(.CDX文件)。nExp的缺省值为1,所有打开的索引文件按顺序编号为1、2、3,接着就是.CDX文件的索引标识。,10IIF()函数 格式: IIF (,) 功能: IIF()函数测试的值,如果为逻辑真(.T.),函数返回的值。 如果为逻辑假(.F.),函数返回的值。,2.5 运算符和表达式,2.5.1 算术表达式 算术型表达式(Arithmetic exp,expN)又称数值表达式。参加运算的数据和结果都是数值型。允许进行的运算如表2.1。,2.5.2 字符表达式 字符表达式(Character exp,expC)中参加运算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论