vfp中用use、close all、clearall关闭表有什么区别?

还有用clear all 清除内存变量什么意思?清除内存变量有什么作用?刚接触vfp不久,心里很疑惑,希望高手解答!谢谢!

use:仅关闭数据库文件
close all:关闭当前所有类型文件(其中也包括数据库)
clear all:关闭所有类型文件的同时还清除所有内存变量的值

vfp中变量分为字段变量、内存变量
字段变量的值就是当前库当前记录该字段的值,随着记录指针的变化值也变化,所有值是保存在数据库文件中的,所以使用前必须先打开数据库,例如姓名字段的值是反映当前库,当前记录的姓名值,字段变量赋值方法是用记录修改命令赋值的,如:browse、append、replace、edit……
内存变量的值是保存在内存变量中的,与指针位置无关,但关机后就丢失,例如x=5,x就是内存变量,内存变量的值是用赋值命令给的,如store 5 to x、input、accept、wait、赋值号(=)
vfp中如果内存变量与字段变量同名时,默认字段变量优先于内存变量
例如:
use 人事库
go 3
?姓名
张三 人事库中第3条记录姓名为“张三”
姓名=“李四” 注意:这个变量是内存变量,是与字段变量同名的(从赋值方式可区别)
?姓名
张三 注意:此时输出的不是李四,由此看出字段与内存变量同名时,字段变量优先于内存变量,如果本意是想修改字段变量的值,则应该用replace 姓名 with "李四"
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-18
USE:
如果使用了USE,并且在当前选定工作区中打开了一个表文件,Visual FoxPro 将关闭该表。当在相同工作区中打开另外一张表时,Visual FoxPro 也会关闭该表。在一个时刻,不能在一个工作区中打开多个表。

CLOSE all:
关闭当前及所有工作区中所有打开的数据库, 表, 和索引,并选择 1 号工作区。CLOSE ALL 也关闭任何使用 FCREATE( ) 和 FOPEN( ) 低级文件函数打开的文件,以及任何使用 SET PROCEDURE 打开的过程文件。CLOSE ALL 不关闭使用 SET PRINT 打开的文件。CLOSE ALL 也关闭: 表单设计器\“项目管理器”\标签设计器\报表设计器\查询设计器CLOSE ALL 不关闭这些: 命令窗口\ 调试(Debug)窗口 \帮助\“跟踪”窗口

CLEAR ALL :
从内存中释放所有的内存变量和数组以及所有用户自定义的菜单栏, 菜单, 和窗口的定义。CLEAR ALL 也能关闭所有表,包括所有相关的索引, 格式文件和备注文件, 并选择 1 号工作区。CLEAR ALL 还从内存中释放所有用 DECLARE - DLL 注册的外部共享库函数(即DLL链接库函数)。
CLEAR ALL 不释放系统内存变量,也不清除已编译程序的缓冲区。使用 CLEAR PROGRAM 来清除已编译程序的缓冲区。在活动控件或对象的事件或方法中发出 CLEAR ALL 命令,Visual FoxPro 将产生一条错误信息。当对象类型内存变量的相关控件或对象活动时,不能将其从内存中释放。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网