FoxPro定义了13种字段类型和7种数据类型(精)
Visual FoxPro的数据类型

Visual FoxPro 6.0 程序Visual FoxPro程序设计
Visual FoxPro 6.0 程序设计.课件
-3-
前页 后页 首页
7. 日期型(Date)
用于存放日期,用字母D表示。常用日期型格式为"年/月/日"和"年.月.日",, 日期型字段的宽度是固定的,占用8个字节,其中年、月、日各占两个字节, 该类型数据可以用内存变量和字段存储。
8. 日期时间型(DateTime)
Visual FoxPro 6.0 程序设计.课件
-4-
前页 后页 首页
10. 备注型(Memo)
用于存放较长文本的字符型数据,用字母M表示。在表中,备注型字段可以存 放多种信息,可以是字符文本、源程序代码等数据,其长度为4个字节,用于 记录在备注项中的信息,实际上该信息并不存放在表文件中,而是存放在与 表文件同名,而扩展名为".FPT"的备注文件中。
11. 通用型(General)
是一种存放OLD嵌入式对象的数据,用字母G表示。在表中,通用型字段可以 存放图片、电子表格、声音等数据,其长度为4个字节。有了这种类型字段就 使得Visual FoxPro 6.0成为可以保存电子表格、文档、图片等信息的全方位 数据库。与备注型字段一样,通用字段数据也存入与表文件同名而扩展名 为.FPT的文件中,该类型数据不能用内存变量存储。
2. 数值型(Numeric) 是指用来计算的数据,用字母N表示。数值型数据由数字0~9、小数点和正负 号构成。数值型数据在内存中用8个字节表示,在表中用1~20个字节表示。 数值型数据取值范围为-0.9999999999×10 ~ +0.9999999999×10 。数值型 的变量或字段用来存放一个数量的大小。
vfp6.0基础知识

• • • • • • • Visual FoxPro概述 FoxPro概述 Visual FoxPro的工作界面 FoxPro的工作界面 Visual FoxPro的操作方法 FoxPro的操作方法 Visual FoxPro的数据类型 FoxPro的数据类型 常量与变量 运算符和表达式 函数
返回
2.4 Visual FoxPro的数据类型 FoxPro的数据类型
数据按类型分为:数值型数据、字符型数据、逻辑型数据、日期型数据等。 数据按类型分为:数值型数据、字符型数据、逻辑型数据、日期型数据等。 1.字符型(Character) .字符型( ) 由汉字、字母、数字、空格等任意ASCII码字符组成。最大长度为 码字符组成。 字符, 由汉字、字母、数字、空格等任意 码字符组成 最大长度为254字符,每个字 字符 符占1个字节 每个汉字占2个两节 值得注意的是, 个字节, 个两节。 符占 个字节,每个汉字占 个两节。值得注意的是,当将阿拉伯数字定义为字符型数据 如电话号码、邮编、身份证号),它们将不具有计算的功能。 ),它们将不具有计算的功能 时(如电话号码、邮编、身份证号),它们将不具有计算的功能。 2.数值型(Numberic) .数值型( ) 数值型数据是有大小含义、并可以参与数学运算的数据,常用来表示数量, 数值型数据是有大小含义、并可以参与数学运算的数据,常用来表示数量,它可由 正、负号、0~9的数字和小数点组成。数值型数据的长度为1~20。 负号、 ~ 的数字和小数点组成。数值型数据的长度为 ~ 。 的数字和小数点组成 3.逻辑型(Logical) .逻辑型( ) 用于表示两个相反的状态,值只有真(.T.)和假 和假(.F.),在内存中占1个字节 个字节。 用于表示两个相反的状态,值只有真(.T.)和假(.F.),在内存中占1个字节。 4.日期型(Date) 4.日期型(Date) 日期型数据是存储和表示年、 日等日期的数据类型。 日期型数据是存储和表示年、月、日等日期的数据类型。日期型数据的表示有多种 格式,可以通过命令进行格式的设置,最常用的格式为{mm/dd/yyyy}、{^yyyy-mm格式,可以通过命令进行格式的设置,最常用的格式为 / 、 dd}。yyyy代表年,mm代表月,dd代表日,共占 个字节。日期型数据取值的范围是: 代表年, 代表月, 代表日 共占8个字节 日期型数据取值的范围是: 代表日, 个字节。 。 代表年 代表月 公元0001年1月1日到公元 日到公元9999年12月31日。 公元 年 月 日到公元 年 月 日 5.日期时间型(DateTime) .日期时间型( ) 用以保存日期和时间值。日期时间型数据最常用的格式为{mm/dd/yyyy hh:mm:ss 用以保存日期和时间值。日期时间型数据最常用的格式为 / am/pm}、{^yyyy-mm-dd hh:mm:ss am/pm},hh为时间中的小时,mm为时间中的分钟, 为时间中的小时, 为时间中的分钟, 、 为时间中的小时 为时间中的分钟 ss为时间中的秒,am为上午,pm为下午。日期时间型数据中可以只包含一个日期或者只 为时间中的秒, 为上午 为上午, 为下午 为下午。 为时间中的秒 包含一个时间值。 包含一个时间值。 6.货币型(Currency) .货币型( ) 货币型数据是数值型数据的一种变形,一般在数值型数据之前加上货币符号$即可 即可, 货币型数据是数值型数据的一种变形,一般在数值型数据之前加上货币符号 即可, 货币型数据取值的范围是:- 货币型数据取值的范围是 -922337203685477.5807~922337203685477.5807。 ~ 。 当小数位数超过4位时 系统将进行四舍五入的处理。每个货币型数据占8个字节 位时, 个字节。 当小数位数超过 位时,系统将进行四舍五入的处理。每个货币型数据占 个字节。
Visual FoxPro语言基础

上一页 下一页 返回
单元2 数据存储
日期时间型常量常用的系统输人格式 为:/^yyyy/mm/ddhh:mm:ss/
其中,前mm代表月,dd代表日,yy或yyyy代表年;hh 代表小时,后两个mm代表分钟,ss代表秒。
[例2-7]以下是合法的日期时间型常量。 "2009/11/1310:01:01/,
任务1.9日期时间型(T型)
日期时间型(date time)数据是描述日期和时间的数据,包 括日期和时间两部分内容。日期时间型数据除了包括日期的 年、月、日外,还包括时、分、秒以及上午、下午等内容。 日期时间型数据的输人格式为 /^YYYY/MM/DDHH:MM:SS/,输出格式 为:MM/DD/YYHH:MM:SS,其中,YYYY(或YY)表示 年,MM表示月,DD表示日,HH表示小时,MM表示分钟, SS表示秒。AM(或A)和PM(或P)分别代表上午和下午,默 认值为AM。
成。 [例2-4]以下是合法的逻辑型常量。 逻辑真:.t.或.T.、.y.或.Y. 逻辑假:.f.或.F.、.n.或.N. 2.1.5日期型常量 日期型常量常用的系统输出格式为:mm/dd/yy;日期型常
量常用的系统输人格式为:^yyyy/mm//dd,其中,mm 代表月,dd代表日,yy或yyyy代表年。
任务1.7货币型(Y型)
货币型(currency)数据是为存储货币值而使用的一种数据 类型。默认保留4位小数,占据8字节存储上空一间页。 下一页 返回
单元1 数据类型
任务1.8日期型(D型)
日期型(date)数据是表示日期的数据。日期型数据的一般输 人格式为/^yyyy/dd/,占8个字节。显示的格式有多种, 常用的为:mm/dd/yy。其中,yyyy或yy表示年,mm表 示月,dd表示日,它受SETDATE,SETMARK, SETCENTURY命令设置值的影响。其取值范围为 /^0001/1/11/一/^9999/12/31/。
Foxpro数据类型

记载信息的符号组合称为数据,数据用于描述实体的对象及其属性.数据类型是数据的基本属性,只有相同类型的数据才可以直接进行运算.在vfp中,共有13种字段类型和7种数据类型.13种字段类型是:字符型,数值型,浮点型,双精度型,整型,货币型,日期型,日期时间型,逻辑型,备注型,通用型,二进制字符型和二进制备注型;而7种数据类型是:字符型,数值型,货币型,日期型,日期时间型,逻辑型和通用型.字段为表文件所特有,而数据既可做表文件中的字段内容,也可以做内存变量或常量使用.1.字符型字段和字符型数据:字符型字段用于存放字符型数据.字符型数据是指一切可印刷的字符,包括英文字母,阿拉伯数字,各种符号,汉字及空格.上述"职工档案"表中的"编号"和"姓名"字段就属于字符型字段,而其中存储的编号和姓名就属于字符型数据.字符型字段的宽度为1~字节.2.数值型,浮点型,双精度型,整型字段与数值型数据:数值型字段按每位数1个字节存放数值型数据,而浮点型字段存放浮点型数据.这两者最大宽度为20位.整型字段存放整数,用该类型字段存放较大的整数可节省存储容量,因为它只占4个字节.双精度型字段用于存放双精度型数,常用于科学计算,可得15位精度,但只占8个字节.这些字段中存放在数据统称为数值型数据.3.货币型字段和货币型数据:货币型字段用于存放货币型数据,但只占8个字节.4.日期型字段和日期型数据:日期型字段用于存放日期型数据.常用格式为:"年.月.日"和"月/日/年".在"职工档案"表中,"出生日期"字段就是日期型字段,而其中存放的数据就是日期型数据.5.日期时间型字段和日期时间型数据:日期时间型字段存放日期时间型数据,格式为:年.月.日小时:分:秒 Am或pm.6.逻辑型字段和逻辑型数据:逻辑型字段用于存放逻辑型数据.逻辑型数据只有两个值,即"真"和"假",常用于描述只有两种状态的数据.例如:在"职工档案"表中,"婚否"字段就是逻辑型字段,用"真"表示已婚,"假"值表示未婚.在输入逻辑型数据时,可用T,t,Y,y中的任一个代表"真",而用F,f,N,n中的任一个代表"假".7.备注型字段:备注型字段用于存放字符型信息,如文本、源代码等,使其得到了广泛应用.它常用于记录信息可有可无、可长可短的情况.例如,如果要在"职工档案"表中增加一个"简历"字段,定义成备注型最合适,因为有些人的简历可能长些,有些人的简历可能短些.此外,备注型字段还可用于提供运行时的帮助信息.记录在备注型字段中的信息,实际上并不存放在表文件中,而是存放在与表文件同名,但扩展名为.fpt的文件中.当创建表文件时,如果定义了备注型字段,则相应的备注文件会自动生成,会随表文件的打开而自动打开.8.通用型字段和通用型数据:通用型字段可用于存放照片、电子表格、声音、图表及字符型数据等.通用型数据使vfp成为全方位的数据库.通用型字段中的数据也存入.fpt文件中.。
VFP第三章

程序设计教程
北京邮电大学出版社
第3章 Visual FoxPro的数据及其运算 FoxPro的数据及其运算
本章知识要点
了解并掌握基本数据类型以及Visua FoxPro的常 用函数、表达式的使用。 重点:Visual FoxPro的常用函数,内存变量的使 用。 难点:内存变量的使用。 计划课时:2课时。
7.Memo (备注型,用字母M表示) 备注型,用字母M表示) 备注型数据(又叫记忆型、注释型)用于存放较多 字符的数据。其长度系统定义为4位。它能接受一切字符 数据,当数据中定义一个备注字段时,系统自动生成一个 与表文件同名但扩展名为.FPT的备注文件。
通用型,用字母G表示) 8. General (通用型,用字母G表示) 通用型数据用来存放电子表格、图像、声音等OLE对 象的数据。其长度系统定义为4位。通用型数据内容与备 注型相同,也是存放在扩展名为FPT的备注文件中。
例:
a1 = 6 STORE 6 TO a1,a2,c
注意: 注意: 访问内存变量时,若它与字段变量同名时, 访问内存变量时,若它与字段变量同名时, 则应该用如下格式进行访问: 则应该用如下格式进行访问: M.内存变量名 内存变量名 或 M—>内存变量名 内存变量名
姓名= 王明” 例:M.姓名=“王明” 姓名 或 M—>姓名=“王明” 姓名= 王明” 姓名
( ) ; **或 ; * ; / ;
(括号) (乘方) (乘)
^
% ; + ; -
(除) (求余数) (加) (减)
例: y = x2-3x+9
2.字符型表达式 2.字符型表达式 字符型表达式 是用字符运算符将字符型数据连接起来的式子,其运 算结果是字符型数据。运算符有两种: (1). 连接运算 “+”:将两个字符串连接起来形成一个新的字符串。 “-”:是去掉前一字符串的尾空格,然后与后面字 符串连接起来,并把去掉的尾空格放到结果串的末尾。 (2). 包含运算 <字符串1> $ <字符串2> 包含运算的结果是逻辑值:若<字符串1>包含在<字符 串2>之中,其表达式值为.T.,否则为.F.。
VFP基本数据类型

VFP基本数据类型VFP基本数据类型:C-字符型N-数值型I-整型F-浮点型B-双精度型Y-货币型L-逻辑型D-日期型T-日期时间型M-备注型G-通用型* 字符表达式数值表达式日期时间型表达式一、数值函数数值函数用于数值运算,其自变量与函数都是数值型数据。
1.取绝对值函数ABS( )【格式】ABS()【功能】计算nExp的值,并返回该值的绝对值。
2.指数函数EXP( )【格式】EXP()【功能】求以e为底、nExp值为指数的幂,即返回ex的值。
3.取整函数INT( )【格式】INT()【功能】计算nExp的值,返回该值的整数部分。
4.上界函数CEILING( )【格式】CEILING()【功能】计算nExp的值,返回一个大于或等于该值的最小整数。
5.下界函数FLOOR( )【格式】FLOOR()【功能】计算nExp的值,返回一个小于或等于该值的最大整数。
6.自然对数函数LOG( )【格式】LOG()【功能】求nExp的自然对数。
nExp的值必须为正数。
7.常用对数函数【格式】LOG10()【功能】求nExp的常用对数。
nExp的值必须为正数。
8.平方根函数SQRT( )【格式】SQRT()【功能】求非负nExp的平方根。
9.最大值函数MAX( )和最小值函数MIN( )【格式】MAX(,< nExp2>[,< nExp3>...])MIN(,< nExp2>[,< nExp3>...])【功能】返回数值表达式中的最大值MAX( )和最小值MIN( )。
10.求余数函数MOD( )【格式】MOD(,)【功能】返回nExp1除以nExp2的余数。
余数的小数位数与nExp1相同,符号与nExp2相同。
11.四舍五入函数ROUND( ) 【格式】ROUND(,< nExp2>)【功能】返回nExp1四舍五入的值, nExp2表示保留的小数位数。
Visual FoxPro数据类型

4
3.浮点型(Float)
从使用上讲,浮点型字段等同于数值型字段。只是浮点型 字段的内部结构与数值型字段不同,因此运算速度也不同。
(DateTime) 整型(Integer) 双精度型(Double) 逻辑型(Logical) 通用型(General) 备注型(Memo) 简介
说明
大小
应用举例
数字、字母、符号 <=254 姓名、住址
货币单位
8
存款、价格
整数、小数
20
考试成绩
同数值型
年、月、日
8
参加工作时间
年、月、日、
8
上班时间
6
5.逻辑型(Logical) 逻辑型字段的宽度固定为1个字节
• 表示逻辑判断结果的值。 • 逻 辑 型 数 据 只 有 两 个 值 : 逻 辑 值 True
(真).T. 或逻辑值False(假).F.。 • 如表达式 ?3>4 的运算结果为:.F.
7
6.整型(Integer)
用于存储不包含小数部分的数值。整型字段占4个字节, 取值介于 -2147483647~2147483646之间。
时、分、秒
无小数点
1
作业完成否
OLE(对象链接与嵌入) 4 EXCEL表格、图片
文本
4 人员简历、产品
10
Visual FoxPro数据类型
1
数据类型
在定义一字段时,必须规定它的类型。 一个字段的类型是指其字段值的数据类型。
第2章Visual FoxPro 6.0基础知识

其中“^(**)”为乘方运算符,如3的平方表示为 3^2或3**2。“%”为求余运算符,它的结果为两数 相除所得的余数,如8%3的结果为2,“%”也被称 为“求模运算符”。 算术运算符的优先级别由高到低依次为:()→ ^、 ** → *、/ → % → +、-。 2.关系运算符和关系表达式 关系运算符包括>、>=、<、<=、=、<>或#或!=、$、 ==。其中<>(#或!=)为“不等于”,$为“包含 于”。
(9)COS(<数学表达式>) 功能:求cos(x)的值。其中<数学表达式>的单位为弧度。 (10)EXP(<数学表达式>) 功能:求以e(2.718)为底的指数函数的值,即求ex。 (11)LOG(<数学表达式>) 功能:求以e(2.718)为底的对数函数的值,即求ln(x)。 (12)LOG10(<数学表达式>) 功能:求以10为底的对数函数的值,即求lg(x)。
3.日期型常量 用于表示日期。使用时必须用花括弧括起 来,花括弧内包括年、月、日3部分内容, 各部分之间用“\”或“-”或“.”分隔开,如 {^2004/1/28}、{^9999-12-31},空白的日期 可表示为{}或{/}。
4.日期时间型常量 用于表示日期和时间。格式为:{^yyyy-mm-dd hh:mm:ss a|p},如{^2004/1/28 8:30 }、 {1999/12/31 18:20}、{2000/12/1 5:00 a}。 5.逻辑常量 逻辑常量只有真和假两种值。用.T.、.t.、.Y.或.y. 表示真,用.F.、.f.、.N.或.n.表示假。 6.货币型常量 用于表示货币值。默认以$符号开头,并四舍五入 到4位小数,如$100.12345,系统默认为$100.1235。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
➢记录指针
对于一个打开的表文件来说,在某一时刻只能处理一 条记录,这条记录叫做当前记录。
VFP在每一个表中都定义了一个指针,随着我们对表 的操作,记录指针在不断地移动。
刚刚打开表时,记录指针指向第一条记录。
❖ VFP对表内记录是逐条进行操作的。 首记录 ❖ 最上面的记录是首记录,记为TOP; ❖ 最下面的记录是尾记录,记为BOTTOM。
首记录
<BOF>TOP
测试文件头函数: bof([nWorkArea|cTableAlias])
测试当前记录号函数: recno([nWorkArea|cTableAlias])
尾记录
BOTTOM
<EOF>
eg: ?eof();
eg: ?bof()
eg: ?recno()
Use student Go top
Use student in 1 List Use course in 2 List Select 2 list
❖ VFP提供32767个工作区,编号为1~32767。 ❖ 标识:相应数字;前10个可用别名 A~J 标记 ❖ 同一个表可在不同区打开 ❖ 初始状态当前工作区为1区
➢工作区的选择&互访
工作区:表打开后才能操作,实际上打开表
就是将其从磁盘调入到内存的某一个工作区。
❖ 每个工作区只允许打开一个表,在同一工作区 打开另一个表时,以前打开的表就会自动关闭。
………
❖ 在任一时刻,用户只能对其中的一个工作区 进行操作。正在被用户操作的工作区称为 当前工作区。
❖ 工作区彼此之间是相互独立的,即在未建立 表间关系的情况下,对当前工作区中表的任何 操作,均不会影响其它工作区中打开的表。
尾记录
❖ 在第一个记录之前有一个文件起始标识, 称为Begin of File(BOF)。 ❖ 在最后一个记录的后面有一个文件结束标识, 称为End of File(EOF)。
<BOF>TOP
BOTTOM
<EOF>
➢记录指针
•与记录指针有关的函数
测试文件尾函数: eof([nWorkArea|cTableAlias])
工作区除了使用数字编号外,用户也可自行指定工作 区的别名; 命令格式:USE <数据表文件名> ALIAS <数据表文件的别名> 示例:USE 学生表 ALIAS Student 命令格式:USE <表名> IN <工作区号> | <别名> 在指定的工作区打开表,但不改变当前工作区,要改
变工作区仍需使用SELECT命令。
Visual FoxPro定义了13种字段类型和7种数据类型 ※ 字符型字段和字符型数据 ※ 数值型、浮动型、双精度型和整型字段与数值型数据 ※ 货币型字段和货币型数据 ※ 日期型字段和日期型数据 ※ 日期时间型字段和日期时间型数据 ※ 逻辑型字段和逻辑型数据 ※ 备注型字段 ※ 通用型字段和通用型数据 ※ 二进制字符型字段和二进制备注型字段
For和While选择项,在默认范围选择项条件下主要有以下两点不同: ❖ FOR子句是从首记录开始判断逻辑表达式是取真值还是取假值的, 而While子句则从当前记录起判断条件是否成立。 ❖ For于句对逻辑表达式取真值的所有记录进行规定操作,不管这 些记录是呈连续排列或是间断排列;但对While子句则是从当前记 录开始,只要遇到其逻辑表达式取假值的记录就立即停止操作,不 管其后是否还有满足条件的记录。 ❖ For和While子句在某些命令中,既可单独使用,也可以同时。在 同时选用的情况下,While子句优先级高于For子句。Biblioteka ?bof()➢记录指针
• 指针的定位与移动
❖ Go [record] nRecordNumber|top|bottom …
Skip –1 ?bof() Go bottom ?eof() Skip
❖ Skip [nRecords] [IN nWorkArea|cTableAlias]
?eof()
❖ Locate [Scope] [For LExpression1] [While LExpression2]
➢工作区的选择&互访
命令:SELECT nWorkArea|cTableAlias
功能:选定某个工作区,用于打开一个表。
示例:SELECT A SELECT 2
❖ 选定的工作区称为当前工作区,VFP默认1号工作区为当前工作区。 ❖ 使用函数SELECT()可返回当前工作区的区号。 ❖ SELECT 0,表示选定当前尚未使用的最小号工作区。 ❖ 使用其它工作区中字段:<别名>.<字段名>或<别名>-><字段名> 示例:DISP 学号,姓名,班级,B.课程号,B.成绩
For LExpression1 条件子句 While LExpression2 条件子句
表示对逻辑表达式取真值的记录进行规定的操作 区别&优先级
Use student List for ssex use
Use student List while ssex use
Use student List for ssex while ssex use
❖ Continue (配合Locate使用;for子句while子句的差异)
Use student; ?recno();
List; Continue;
Locate for .not. Ssex ?recno()
CommandKey[Scope] [eExpressionList]
[For LExpression1] [While LExpression2]
➢ 数据容器
❖ 保存数据的常量、变量、数组、字段、对象叫数据的存 贮容器,简称数据容器。
❖ 常用的数据容器有: 常量、变量、数组、字段、对象属性
一、常量 类型:数值型、字符型、逻辑型、日期型&日期时间型 赋值:#define x 18 释放:#undefine x 二、变量 类型:字段变量(多值)、内存变量&系统内存变量(list memo) 赋值:store <表达式> to <内存变量表>|<变量数组>
说明:
CommandKey命令关键字:表示进行什么操作,如use,select
Scope 范围子句:
❖ Record n 表中第n条记录
❖ Next n 从表中当前记录起向下共n条
❖ Rest
从表中当前记录起到末记录止
❖ All
表中全部记录
eExpressionList 表达式表: 由逗号分隔的表达式构成,通常由表中字段名构成, 表示只对所列字段进行操作。