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。
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码比较大小 ?"实际"<"实习"
第2章 Visual FoxPro编程基础1
5. 变量的删除(释放)
格式1:RELEASE <内存变量表> 格式2:RELEASE ALL [LIKE/EXCEPT <通配符>] 格式3:CLEAR MEMORY 功能:清除所选择的内存变量,并释放相应的内存空间。 功能:清除所选择的内存变量,并释放相应的内存空间。 说明: 说明: 列出的内存变量。 格式1清除<内存变量表>列出的内存变量。 可分三种情况: 格式2可分三种情况: RELEASE ALL RELEASE ALL LIKE <通配符> RELEASE ALL EXCEPT <通配符>
17:58 4
2.2 常量和变量
2.2.1常量 2.2.1常量 常量是指值在程序执行过程中保持不变的数据。 常量是指值在程序执行过程中保持不变的数据。 • 1.数值型常量:包括带小数点常量和不带小数点的常量。 1.数值型常量 包括带小数点常量和不带小数点的常量。 数值型常量: 例:3.14,17,1.23E5。 3.14,17,1.23E5。 • 2.字符型常量:用单引号、双引号、方括号等定界符括 2.字符型常量 用单引号、双引号、 字符型常量: 起来的数据。 起来的数据。 '123', "A", 数据库] 例:'123', "A",[数据库] 。 注意:空格串“ 和空串“”的区别。 “”的区别 注意:空格串“ ”和空串“”的区别。 空格串" ", >0。五个空格,串长为5 空格串" ",串长>0。五个空格,串长为5。 空串"",串长=0。 空串"",串长=0。17:Fra bibliotek819
VFP6.0第3章Visual Foxpro数据表的操作
14
(1)用EXCLUSIVE选项,则以独占方式打开表。 用SHARED选项,则以共享方式打开表,此时表结 构和表数据只读,不能编辑修改。 (2)已打开的一个表有一个指针与其对应,指针 所指的记录称为当前记录。表刚打开时,记录指针 指向第一个记录。 (3)表操作结束后及时关闭,以便将内存中的数 据保存到表中。
15
③关闭表的其它方法 ①CLEAR ALL:关闭所有的表,并选择工作区1,释放 所有内存变量、用户定义的菜单和窗口,不释放系统 变量。 ②CLOSE ALL:关闭所有打开的数据库和表,并选择 工作区,关闭各种设计器和项目管理器。 ③CLOSE DATABASE [ALL]:关闭当前数据库和其中的 表,若无打开的数据库,则关闭所有自由表,并选择 工作区1。带ALL则关闭所有数据库和其中的表,以及 所有已经打开的自由表。
第3章 Visual Foxpro数据表的操作
3.1 数据表的建立 3.1.1 Visual Foxpro 6.0中的命令 1.命令的组成 一条命令通常由命令动词和若干个短语组成。命令动
词表明该命令执行什么操作,短语用于说明命令的 操作对象、操作条件等,短语有时又称为子句。 2.命令的书写格式 Visual FoxPro 6.0命令的一般格式为: 命令动词[<范围>][[FIELDS]<字段名表>] [FOR<条件>]|[WHILE<条件>]
18
对通用型字段的输入,当光标位于该字段时, 双击鼠标左键或按下Ctrl+PgDn键进入编辑器,此 时可选定【编辑】菜单的【插入对象】命令,插入 图形、电子表格或声音等多媒体数据文件,然后关 闭编辑器,此时gen变为Gen(表示该字段非空)。
VF语言基本数据类型
-2147483647~2147483646
数据块引用
在表中是4个字节
受可用内存的限制
OLE对象引用
在表中是4个字节
受可用内存的限制
任意不经过代码页修改而 保留的字符数据
1~254个字符,每字符1个字节
任意字符
任意不经过代码页修改而 保留的备注字段数据
10
2.变量的作用域
变量的作用域指的是变量在什么范围内是有效或 能够被访问的。在VFP中,若以变量的作用域来分, 内存变量可分为公共变量、私有变量和局部变量三 类。 (1)全局变量 在任何模块中都可使用的变量称为全局变量。全局变 量要先建立后使用,全局变量可用以下命令格式建 立: 。
数据类型
双精度 Double
浮点型 Float
整型 Integer
备注型 Memo
通用型 General
字符型 (二币数量 整型值
大小
8个字节 在内存中是8个字节,在表中 是1~20个字节 4个字节
表示范围
±4.94065645841247E-324 ~±8.9884656743115E307
在表中是4个字节
受可用内存的限制
6
2.2 常量和变量
2.2.1 常量
常量就是值固定不变的数据。它在整个程序运行中是不变的。VFP支持多种类型 的常量,如:数值常量、字符常量、日期常量、逻辑常量、货币常量、日期时 间常量等。
1. 1.数值常量
VFP有两种类型的数值常量:N(数值)和F(浮点数)。VFP数值的有效位数不 能 超 过 16 位 。 数 值 常 量 可 以 是 整 数 或 小 数 ; 也 可 以 用 科 学 计 数 法 表 示 , 如 用 6.6328E12表示6.63281012,用1.6E-2表示1.610-2。
第二章 VFP数据类型
(2)用PRIVATE指定私有变量 1、格式:private 变量名 2、私有变量可以在建立它的模块以及相应的 下层模块使用 3、私有变量可以将高层中创建的、私有变量 同名的变量隐藏起来
Main3.prg
Public a,b
Procedure sub1() Private a a=10
Procedure Sub2() ?a ?b Endproc *a=10 *b=20
Main1.prg
Local x x=1 ?x Sub1() ?x &&x=1 Procedure sub1 x=2 endproc
Main2.prg
x=1 ?x Sub2() ?x &&x=1 Procedure Sub2 Local x
x=2
endproc
(2)用PUBLIC指定全局变量(公共 )
{00:00:00AM}等价于午夜{12:00:00AM} {00:00:00PM}等价于中午{12:00:00PM} {00:00:00}至{11:59:59} 等价于 {12:00:00AM}至{11:59:59AM} {12:00:00}至{23:59:59} 等价于 {12:00:00PM}至{11:59:59PM}
同名称、以下标相互区分的有序内存变量。 –数组属于内存变量,数组必须先定义后使 用,定义数组是向系统申请数组元素在内 存中的存储空间
1. 数组的定义
DECLARE X(5), Y(5,5) 私有数组 DIMENSION A(10),B(10,10) 私有数组 PUBLIC X(3,4) 全局数组 LOCAL M(9) 局部数组 数组下标从1开始,X(0)是错的 数组在声明之后,每个元素被默认地赋予.F.值。
VFP6.0程序设计第2章 Visual FoxPro 6.0 编程基础
表2-1 算术操作符及应用举例 操作符 意 义 应用举例
当存储诸如“职工人数”等数据时,可用整型数据类型。整型 数值没有小数点部分,只能用于表中字段的定义。其取值范围是: -2147483647~2147483646 ,整型字段占4个字节。
2.1.9
备注型(Memo)
当存储诸如“工作简历”等数据时,可用备注型数据类 型。备注型只能用于表中字段的定义,备注内容的多少只受 内存可用空间的限制。备注型字段的内容不能直接存放 于.dbf文件中,系统将备注的内容存放在扩展名为.fpt的文 件中。
2.2.4
字段
数据是以二维表的方式 在数据库中存储,二维表的列可理 解为字段(Fields)。 字段名的定义与内存变量名的定义类同, 可用英文字母或汉字定义,不超过10个字符。 字段名可理解为变量,称字段变量。例如:在具有姓名、 性别、出生日期等字段的人员登记表中,姓名是字段名,称为 字段变量,随着记录指针的移动,姓名所代表的值是变动的。 字段数据类型的定义可有13种,通常情况下,编号、姓名、 性别等字段定义为字符型;工资字段定义为数值型;出生日期 定义为日期型等等。
2.1.3
日期型(Date)
日期型数据的格式为“yyyy-mm-dd”。其中:yyyy代表年,mm代 表月,dd代表日。 日期型数据还可以表示为“mm/dd/yyyy”等格式。 例如:{^2002-05-23}是正确的日期型常量。
2.1.4
日期时间型(Date time)
除了能够保存日期还能够保存时间,日期时间型数据 存储格式 为:yyyymmdd[hh[:mm[:ss]][a|p]]。其中yyyy代表年,mm代表月,dd代 表日,hh代表小时,mm代表分钟,ss代表秒,a|p代表上午或下午。 例如:{^2002-05-23 10:20:33}是正确的日期时间型常量。 注意:[ ]中的数据可以省略。
visualfoxpro知识点
v i s u a l f o x p r o知识点(总25页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第一章数据库系统概述数据库系统(DBS):指引入数据库技术的计算机系统特点:数据结构化,数据共享性高,程序和数据具有较高的独立性,为用户提供良好的接口,统一管理和控制数据,系统灵活,易于扩充.数据库(DB):是存储在计算机设备上.结构化的相关数据的集合,不仅描述事物数据的本身,也包括相关事物之间的联系.数据库管理系统(DBMS):是数据库系统中对数据进行管理的软件系统,是数据库的核心.功能:数据定义功能,数据操纵功能,数据库管理和控制功能.数据库管理员(DBA)的主要工作:数据库设计,数据库维护,改善系统性能,提高系统效率数据库设计的根本目的:解决数据资源共享问题数据库系统的体系结构概念模式:简称模式,是数据库中全体数据的逻辑结构和特征的描述,是面向全部用户的公共数据视图外模式:又称子模式或用户模式是用户与数据库的接口.内模式:又称物理模式或存储模式,描述数据在存储介质上的安排和存储方式。
一个数据库只有一个内模式.数据模型:客观事物及联系—概念模型—数据模型.E-R模型:实体(矩形)属性(椭圆)联系(菱形)在数据库设计阶段,将E-R图转化为关系数据模型的过程属于逻辑设计阶段。
两个实体间的联系:一对一的联系如班级与班长一对多的联系如班级与学生多对多的联系如学生与课程数据模型有:层次模型,网状模型,关系模型:是用二维表结构描述,一张二维表就是一个关系关系数据库关系:一个关系就是一张二维表.元组(记录):表中的一行.属性(字段):表中的一列.域:属性的取值范围.关键字:一张表中的一列或若干列能够把不同的记录区分开来.超关键字:二维表中能唯一确定记录的一列或几列,但它包含的字段可能是多余的.候选关键字:如果超关键字去掉任何一个字段后都不能唯一确定,是候选关键字.主关键字:外部关键字P10关系的特点:(1)关系必须规范化.即表中不能再包含表.(2)同一关系中不允许出现相同的属性名.(3)关系中任意两个元组不能完全相同.(4)关系中元组的次序可以任意交换.(5)关系中属性的次序可以任意交换。
visual foxpro中常用数据类型
visual foxpro中常用数据类型Visual Foxpro 是一款常用的数据库管理软件,它支持多种数据类型,包括:1. 字符型 (Character):由字母 (汉字)、数字、空格等任意ASCII 码字符组成。
字符数据的长度为 0~254,每个字符占 1 个字节。
2. 货币型 (Currency):用于存储货币值。
货币型数据取值的范围是:-922337203685477.5807~922337203685477.5807,每个货币型数据占 8 个字节。
3. 日期型 (Date):用以保存不带时间的日期值。
日期型数据存储格式为 yyyymmdd,其中 yyyy 为年,占 4 位,mm 为月,占 2 位,dd 为日,占 2 位。
日期型数据取值的范围是:公元 0001 年 1 月 1 日一公元 9999 年 12 月 31 日。
4. 日期时间型 (DateTime):用以保存日期和时间值。
日期时间型数据存储格式为 yyyymmddhhmmss,其中 yyyy 为年,占 4 位,mm 为月,占 2 位,dd 为日,占 2 位,hh 为时间中的小时,占 2 位,mm 为时间中的分钟,占 2 位,ss 为时间中的秒,占 2 位。
日期时间型数据中可以只包含一个日期或者只包含一个时间值,缺省日期值时,系统自动加上 1999 年 12 月 31 日,省略时间值时,则自动加上午夜零点。
5. 逻辑型 (Logical):用于存储只有两个值的数据。
存入的值只有真 (.T.) 和假 (.F.) 两种状态,占 1 个字节。
6. 数值型 (Numeric):用来表示数量,它由数字 0~9、一个符号 (或) 和一个小数点 (.) 组成。
数值型数据的长度为 1~20,每个数据占 8 个字节。
数值型数据取值的范围是:-0.9999999999E19~0.9999999999E20。
7. 双精度型 (Double):用于取代数值型,以便能提供更高的数值精度。
vf知识点
第二章表的基本操作§1创建项目文件和使用项目管理器管理数据一、创建项目文件1、文件类型(11种)项目(.pjx ) 、数据库(.dbc)、表(.dbf)、视图(.vue)、查询(.qpr)、表单(.scx)、报表(.frx or .frm)、标签(.lbx or .lbl)、索引(.idx or .cdx)、程序(.prg )、文档(.txt or .doc)等多种文件由项目管理器管理。
2、创建工作目录例如:D:\student\6030222set defa to 每次开机进入VF都要设定3、创建项目文件1)、使用新建对话框2)、使用命令create project <项目文件名>扩展名:.pjx(默认)4、使用项目管理器管理数据1)、使用选项卡组织数据A、调用项目管理器(打开、新建项目)B、用命令Modify project <项目文件名>2)、添加或移去文件A、向项目中添加已有文件B、从项目中移去或删除文件3)、创建或修改文件单击创建或修改按钮§2创建数据库文件1、项目管理器中创建2、新建对话框中建立3、用命令创建create database <数据库名>设计数据库步骤:1、设计数据库:明确目的,需求分析。
2、表的设计:表结构3、表中字段的设计4、表间关系的确定§3 VF中的常量、变量、表达式和函数一、数据类型每一个数据都有一定的类型。
一个表结构包括若干个字段,每个字段都必须规定它的数据类型,数据类型决定在该字段上进行哪些操作以及数据的存储方式。
FoxPro表中的字段类型有13种:1、数值型(N型)用于表示数量,它由数字0-9、一个符号(+ 或 -)和一个小数点(.)组成,长度1-20个字节。
小数点的位置和字段的宽度由用户创建该字段时指定,宽度包含小数点和小数位数。
2、字符型(C型)由字母、汉字、数字、空格、符号和标点等组成,通常用来存储姓名、单位、地址等类信息,宽度由用户定义,但不超过254个字节。
vfp的数据类型和存储类型
allgou zujitianxia meibai12
2.字符型(C型) 字符型常量是由“ ” 、 ‘ ’、 [ ]括起来的字符或字符串。 例如,“ABCD”、’No_4’、[北京] 、“I’m a student”等。
?AT("OK","COMPUTER OKOK ",2) → 12
?AT("数据","计算机数据管理系统") → 7 ?AT("BOOK","COMPUTER") → 0
(2) 求子串函数SUBSTR 格式:SUBSTR〈字符表达式〉,〈起始位置〉[,〈长度〉] 功能:对〈字符表达式〉从给定的〈起始位置〉开始截取指定 长度的字符,生成一个新的字符串; ?SUBSTR("110102490217041",7,6) → 490217
赋值:a=4, b(1)=“foxpro” a(2,1)=3等价a(4)=3
allgou zujitianxia meibai12
三、字段变量 表的各个字段都是字段变量 use 学生表 ?学号 go 5 ?姓名 内存变量和字段变量同名时:字段变量优先,若要显示内存变量, 用?m.编号或?m->编号
6.日期时间型(T型) 日期时间型常量也用{ }括起来表示, 如 {10/01/92 8:45}
严格的日期时间格式为: {^yyyy-mm-dd [hh[:mm[:ss]][a|p]]} 或 {^yyyy/mm/dd [hh[:mm[:ss]][a|p]]}
如 {^2000-09-20 8:45}
2.3.2 变 量 在命令操作和程序运行过程中其值允许变化的量称为变量。 一、内存变量
- 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 表达式表: 由逗号分隔的表达式构成,通常由表中字段名构成, 表示只对所列字段进行操作。