VFP数据及类型
vfp总结

总结一、数据库的基本知识数据模型(层次模型、网状模型和关系模型)、关系模型(二维表)、关系模型的三种结构(外模式(用户模式)、概念模式、内模式)、关系术语(元组、属性和关键字等)、关系运算(并、交、差运算和选择、投影、连接)二、数据类型、表达式、函数(1)常量、变量、数组及变量的基本操作(2)数值表达式、字符表达式、时间日期表达式、关系表达式、逻辑表达式(3)常用函数数值函数:ABS(Nexp)、SIGN(Nexp)、SQRT(Nexp)、PI()、INT(Nexp)、CEILING(Nexp)、FLOOR(Nexp)、ROUND(Nexp1,Nexp2)、MOD(Nexp1,Nexp2)、MAX(Nexp1,Nexp2,...)、MIN(Nexp1,Nexp2,….)、RAND()字符函数:函数值为数值型的函数: LEN(Cexp)、AT(Cexp1,Cexp2[,Nexp])、 OCCURS(Cexp1,Cexp2) 取子串函数:SUBS(Cexp,Nexp1[,Nexp2])、LEFT(Cexp,Nexp)、RIGHT(Cexp,Nexp)产生与删除空格函数:SPACE(Nexp)、TRIM(Cexp)、LTRIM(Cexp)、ALLTRIM(Cexp)、替换函数与字符匹配函数: STUFF(Cexp1,Nexp1,Nexp2,Cexp2)、CHRTRAN(Cexp1,Cexp2,Cexp3)、 LIKE(Cexp1,Cexp2)时间日期函数:DATE()、TIME()、DATETIME()、YEAR(Dexp)、MONTH(Dexp)、WEEK(Dexp)、DOW(Dexp)、DAY(Dexp)、HOUR(Texp)、MINUTE(Texp)、SEC(Texp)转换函数: LOWER(Cexp)、UPPER(Cexp)、CHR(Nexp)、ASC(Cexp)、STR(Nexp,[Nexp1,[Nexp2]]))、VAL(Cexp)、DTOC(Dexp[,1])、TOD(Cexp)测试函数:BETWEEN(exp1,exp2,exp3)、ISNULL(exp)、EMPTY(exp)、 VARTYPE(exp)、IIF(Lexp,exp1,exp2)EOF([n])、BOF([n])、DELE([n])、FOUND([n])、RECNO([n])、RECCOUNT([n])、SELECT()三、数据库及其本操作(1)数据库的基本操作、表的建立与表结构的修改、表的浏览与显示、记录指针的定位、记录的编辑、修改及替换、记录的追加和插入、记录的删除、记录与数组之间的操作(2)数据表的索引:索引类型(主索引、候选索引、唯一索引、普通索引)、索引文件的类型(最常用的是结构复合索引)。
第二章VFP的数据表达式一、数据类型1.字符型字符型(Character,C

第二章 VFP的数据表达式一、数据类型1.字符型字符型(Character,C型)通常用于储存文本信息,由字母、汉字、空格、数字、符号和标点等字符组成,宽度不能超过254字节。
若超过254字节,则请改用备注型。
例如:“abc”,“计算机”,“123”,“ID18”等。
2.货币型货币型(Currency,Y型)这种类型是专为货币数据设计的数据类型,表示方法是在数字前加一个$符号。
最多只能保留到小数点后4位,超过四位则会自动四舍五入:少于四位则会自动补零。
占8个字节的空间。
例如:money=$980.45678。
3.数值型数值型(Numeric,N型)用于表示数量,由数字0~9、+或-,以及小数点组成。
数值型数据占8个字节,长度为1~20个字节。
VFP中文版采用十进制和十六进制两种格式。
例如:98.66,0xff(前面加0x表示十六进制)。
数值型数据可采用科学计数法,如“3E2”代表“3×102”,“10e-2”代表“10×10-2”。
4.整型整型(Integer,I型)用于存储不含小数部分的数值。
是一种较小的数据类型,整数型占有内存空间4个字节。
5.浮点型浮点型(Float,F型)等价于数值型类型。
VFP出于兼容性的考虑设置了这个数据类型。
6.日期型日期型(Date,D型)用于存储日期数据。
由年、月、日三部分组成,存储格式为“YYYYMMDD”。
表示范围为{^0001/01/01}到{^9999/12/31},即公元0001年1月1日到公元9999年12月31日。
其中“^”符号表示此日期格式严格遵循YMD(year,month,day)的格式,使用日期型数据时应用大括号{}括起来。
日期型数据存储长度为8个字节。
例如:mydate={^2006/10/12}表示日期是2006年10月12日,而不是2006年12月10日。
7.时间日期型时间日期型(Date Time,T型)用于记录日期时间的数据。
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
数据类型
在定义一字段时,必须规定它的类型。 一个字段的类型是指其字段值的数据类型。
VFPVisualFoxPro数据类型与数据运算

使用STR()函数,将数值转换为字符串。
日期型数据与其他数据类型之间的转换
日期型数据转字符型数据
使用DTOC()函数,将日期转换为字符串 。
VS
字符型数据转日期型数据
使用CTOD()函数,将符合日期格式的字 符串转换为日期型数据。
逻辑型数据与其他数据类型之间的转换
逻辑型数据转字符型数据
+、-、*、/、\、MOD、 Nhomakorabea例子
a=10+5,b=10-5,c=10*5,d=10/5, e=105,f=MOD(10,5),g=105
结果
a=15,b=5,c=50,d=2,e=2,f=0,g=100000
字符串运算
01
字符串运算符:+、*
02
例子:str1="Hello, " + "World!",str2="Hello" * 3
用于存储字符串,包括字 母、数字、符号等。
长度范围 字符型数据
示例
数值型数据
数值型数据 整数类型 浮点数类型 示例
用于存储数值,包括整数和浮点数。
分为字节型(存储范围-128~127)、整型(存储范围32768~32767)和长整型(存储范围2147483648~2147483647)。
分为单精度浮点数和双精度浮点数。
逻辑运算
逻辑运算符
.T.、.F.、AND、OR、NOT
例子
log1=.T. AND .F.,log2=NOT log1, log3=AND(log1, log2)
结果
log1=.F.,log2=.T.,log3=.F.
03 数据转换
VFP第二章数据及数据类型

3).逻辑型常量
逻辑型常量就是表示逻辑判断结果“真”或“假” 的逻辑值。逻辑常量只有真和假两种值,分别用(.t.或.y.) 和(.f.或.n.)表示真和假。一般应在表示逻辑常量的字母 左右加注圆点符“.”以示区别。
4).日期型常量 日期型常量是表示日期值的数据,其默认格式是 {mm/dd/[yy]yy}。如{10/01/02}和{10/01/2002}均表示 2002年10月1日这一日期常量值。 系统默认的“严格日期格式”以{^yyyy-mm-dd}的形式 来表示。 ∧指该日期是严格的,表达一个确切的日期,它不受日期 设置命令SET DATE TO 和SET CENTURY ON/OFF的影响。 其中“-”可用“/”来代替。 必须注意,执行命令时, VFP默认使用严格的日期或日期 时间格式,如果要使用通常的日期或日期时间格式,必 须先执行SET STRICTDATE TO 0命令,否则会引起出 错。如果要设置严格的日期或日期时间格式,可执行命 令SET STRICTDATE TO 1。
| |
最低
对于各种逻辑运算,其运算规则可由逻辑运算真值表确 定,表所示就是逻辑运算真值表。 表 逻辑运算真值表
A .T. .T. .F. .F.
B .T. .F. .T. .F.
A .AND.B
A .OR. B
.NOT A
.T. .F. .F. .F.
.T. .T. .T. .F.
.F. .F. .T. .T.
(3)汉字 系统默认按汉字的拼音排列汉字的顺序,也就是以汉 字的拼音顺序比较“大小”,因此,汉字比较实质上是以 字母的顺序进行比较;但 Visual FoxPro 系统可以设置汉 字按笔画排列顺序,因而,汉字的“大小”就决定其笔画 数的多少。 用菜单设置汉字排列顺序方式的操作步骤为:单击 【工具】 | 【选项】命令,将打开“选项”对话框中,在 “数据”选项卡的“排序序列”下拉列表框中选择 “Stroke”项并确定,系统将按汉字的笔画数进行汉字的 排序、比较运算。 "MACHINE"按ASCII码比较大小 ?"实际"<"实习"
VFP数据类型

记载信息的符号组合称为数据,数据用于描述实体的对象及其属性。
数据类型是数据的基本属性,只有相同类型的数据才可以直接进行运算。
在vfp中,共有13种字段类型和7种数据类型。
13种字段类型是:字符型,数值型,浮点型,双精度型,整型,货币型,日期型,日期时间型,逻辑型,备注型,通用型,二进制字符型和二进制备注型;而7种数据类型是:字符型,数值型,货币型,日期型,日期时间型,逻辑型和通用型。
字段为表文件所特有,而数据既可做表文件中的字段内容,也可以做内存变量或常量使用。
1.字符型字段和字符型数据:字符型字段用于存放字符型数据。
字符型数据是指一切可印刷的字符,包括英文字母,阿拉伯数字,各种符号,汉字及空格。
上述“职工档案”表中的“编号”和“姓名”字段就属于字符型字段,而其中存储的编号和姓名就属于字符型数据。
字符型字段的宽度为1~字节。
2.数值型,浮点型,双精度型,整型字段与数值型数据:数值型字段按每位数1个字节存放数值型数据,而浮点型字段存放浮点型数据。
这两者最大宽度为20位。
整型字段存放整数,用该类型字段存放较大的整数可节省存储容量,因为它只占4个字节。
双精度型字段用于存放双精度型数,常用于科学计算,可得15位精度,但只占8个字节。
这些字段中存放在数据统称为数值型数据。
3.货币型字段和货币型数据:货币型字段用于存放货币型数据,但只占8个字节。
4.日期型字段和日期型数据:日期型字段用于存放日期型数据。
常用格式为:“年.月.日”和“月/日/年”。
在“职工档案”表中,“出生日期”字段就是日期型字段,而其中存放的数据就是日期型数据。
5.日期时间型字段和日期时间型数据:日期时间型字段存放日期时间型数据,格式为:年.月.日小时:分:秒Am或pm。
6.逻辑型字段和逻辑型数据:逻辑型字段用于存放逻辑型数据。
逻辑型数据只有两个值,即“真”和“假”,常用于描述只有两种状态的数据。
例如:在“职工档案”表中,“婚否”字段就是逻辑型字段,用“真”表示已婚,“假”值表示未婚。
FoxPro定义了13种字段类型和7种数据类型(精)

➢记录指针
对于一个打开的表文件来说,在某一时刻只能处理一 条记录,这条记录叫做当前记录。
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区
➢工作区的选择&互访
工作区:表打开后才能操作,实际上打开表
就是将其从磁盘调入到内存的某一个工作区。
❖ 每个工作区只允许打开一个表,在同一工作区 打开另一个表时,以前打开的表就会自动关闭。
………
❖ 在任一时刻,用户只能对其中的一个工作区 进行操作。正在被用户操作的工作区称为 当前工作区。
❖ 工作区彼此之间是相互独立的,即在未建立 表间关系的情况下,对当前工作区中表的任何 操作,均不会影响其它工作区中打开的表。
尾记录
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9 课时(总第9 课时)
备课时间:2008 年9 月 5 日
上课时间:2008 年9 月8 日
[课题]:
数据及类型
[教学目标]:
知识目标:掌握数据的类型及组成
能力目标:培养学生动手操作能力,敏锐的观察能力。
情感目标:创设情境,激发学生兴趣,调动学生学习的积极性和参与性。
[教学重难点]:
字符型,数值型,日期型,逻辑型
[教法]:
讲练结合法,演示法
[教具]:
计算机、多媒体投影仪设备、课件
[课型]:
新授课
[教学内容及步骤]:
复习提问:
1、表文件分为哪两种?
2、数据库表和自由表有什么不同?
[导入]
数据是各种信息的载体,数据有型和值之分,型是数据的分类,那么数据库中的数据有哪些类型呢?
[讲授新课]
一、数据类型
1、字符型
字符型数据是指一切可显示的字符和字符串。
它由中文字符、英文字符、数值字符、空格和其他专用符号组成。
在表示字符串时,两边必须由定界符引起来。
定界符有三种:双引号,单引号,方括号
例如:“汉字”,“3434”等等
定界符使用规则:
1)字符串两边定界符必须配对。
2)如果字符串中含有某一种定界符,则该字符串两边必须使用另外两种定界符之一。
字符串没有固定长度,最大长度为254个字符。
2、数值型(N)
数值型数据是指可以进行数学运算的数据。
它只能由正负号、小数点、0---9组成,数值型数据最大长度为20。
例:3.14,-44.433,123
3、日期型(D)
日期型数据是用来表示日期的特殊数据。
日期型有固定的格式:mm/dd/yy或mm/dd/yyyy
日期型有固定的宽度:8
日期型常量是用来表示一个具体的日期。
VFP默认日期格式为严格的日期格式:
{^yyyy-mm-dd}或{^yyyy/mm/dd}
当执行命令SET STRICTDATE TO 0后,可变为非严格日期格式:
{mm-dd-yy}或{mm-dd-yyyy}
4、逻辑型(L)
逻辑型常量用来表示某个条件的成立与否。
逻辑型常量只有两种值:
逻辑真和逻辑假
逻辑真用.T.表示,逻辑假用.F.表示,此外逻辑真也可以用.t.,.Y.,.y.表示。
逻辑假也可以用.f.,.N.,.n.表示。
[课堂练习]
1、判断下列是否为合法的字符串。
“dkf”,‘34.343],{中国},[foxpro 6.0],
[[Visual FoxPro 6.0]]
2、字符型数据最大的宽度是()
A、64
B、128
C、254
D、508
3、逻辑型数据的值有几种,分别有哪些表示方法?
[课堂小结]
本节课主要学习数据类型中常用的前四种,其中对字符的理解较难,认真体会。
[布置作业]
本节暂无作业
[板书设计]
数据类型
1、字符型3、日期型
2、数值型4、逻辑型
[课后小结]
本节课内容安排较好,容量适中,学生易懂,有练习,效果较好。