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