预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

VFP数据库的自动修复与备份}》 {普通应用系统的安全防范主要是考虑面向数据的安全,系统的数据自动修复与备份是维护系统数据安全的重要环节与手段,它可以将一些简单的故障自行修复,减轻用户的负担,增强应用系统的健壮性与易用性。而一个没有自动备份的应用系统对用户而言是一桩可怕的事情,任何人也不能保证没有错误操作,任何程序中肯定存在BUG,所有这些都可能造成程序意外中止,正在操作的数据受损是难以避免的。这些都对应用系统提出自动修复和备份的要求。我在开发实验室仪器管理系统时充分考虑了数据库的自动修复和备份问题。如果数据库表出错,系统可以自动恢复为上一次正常打开时的状态。主程序开始时,先依次打开所有的库表,如果没有错误,就将库表关闭,接着执行其余功能。如果不能打开库表,程序先截获错误,然后用自行开发的错误处理程序来处理错误,如果属于数据库受损,则从系统备份目录\sysbak下拷贝回相应文件覆盖出错文件。在结束系统运行时,系统自动将关键的库文件拷贝到\sysbak目录下面,处理流程如图。主程序部分的错误捕获片断setproceduretoxgjudf&&指明查找过程的用户自定义.prg文件onerrordoxgjerrhand&&错误处理程序设为xgjerrhanduseyiqiku.dbfuse程序退出时的处理程序片断m.cpath=sys5+curdirsetpathto&cpathsetdefaultto&cpathsetsafetyoffsetproceduretoxgjudfuseyiqiku.dbfusem.csourcepath=m.cpath+″sysbak″+″\″doxgjcopywithm.csourcepath.f.setsafetyonquit处理库文件打开过程错误的程序段PROCEDURExgjerrhandifmessagebox″仪器库文件遭到破坏,系统准备自动修复,确定按OK否则按Cancel″33″系统备份与恢复″=2returnelsem.cpath=sys5+curdirclosedatabasesallm.csourcepath=m.cpath+″sysbak″+″\″doxgjcopywithm.csourcepath.t.endifRETURN复制文件程序过程:PROCEDURExgjcopyparameterm.csourcepathm.crestoreifm.crestore=.t.恢复部分m.csourcefile=m.csourcepath+″yiqiku.dbf″copyfile&csourcefiletoyiqiku.dbfm.csourcefile=m.csourcepath+″yiqiku.fpt″copyfile&csourcefiletoyiqiku.fptelse保存部分m.csourcefile=m.csourcepath+″yiqiku.dbf″copyfileyiqiku.dbfto&csourcefilem.csourcefile=m.csourcepath+″yiqiku.fpt″copyfileyiqiku.fptto&csourcefileendifRETURN(北京谢古今)}