|
实用技巧
Foxpro坏数据库检查和修复
中国工商银行深圳市分行
郑少熙
----
[本文为摘略,全文可下载,Zip 31KB]
----
[请作者提供详细的邮政地址]
----
1、前言
----
实际应用中,由于断电或不正常关机等其他因素,我们发现辛辛苦苦创建或花几天工夫录入的FoxPro 数据库被破坏,每次打开它时,都出现 “Not a table /DBF file ”的提示。原因是该数据库有不正确的表头,在FoxPro 中不能打开它,重要的数据因而也读取不出来。实践中我们发现用FoxBase 能打开这种被破坏的数据库。
----
2、检查和修复的原理、过程及用法
----
在Foxpro中 Use “Not a table /DBF file ”的数据库时,产生的错误代码是15。我们可以设错误陷阱,将错误代码为15的数据库名称放在一数据库中,再调用FoxBase打开这些数据库,分别拷贝到一临时库temp.dbf中,再打开temp.dbf,拷贝回来,就完成修复工作。
----
上述做法只能检查当前某个目录,当有多个子目录的库被破坏时,要逐个进行检查和修复。故这里我们要先创建一个目录数据库,存放子目录的路径全称,然后对目录数据库的每个路径分别调用检查和修复子程序进行检查和修复。
----
3、实现的方法
----
先进入修复系统
----
输入检查的路径,可复选“包括检查子目录”,然后按[检查/修复]。
----
局限性:本系统不能修复VFP的数据表;不支持Dos 8.3命名规则以外的文件夹和文件;子目录多于15层部分无法处理。
----
4、流程图:
... ...
----
5、程序实例:
----
1)、输入路径的Valid:
... ...
----
2)***检查/修复的Valid
... ...
----
3)**** *** 路径表生成子程序pathfind.prg****
... ...
----
4)*****数据库修复程序psjkxf.prg***
... ...
|