单用户FOXBASE程序上网方法 南京 高宁华 1994-01-07 1.在主程序开始处放置命令SET EXCLUSIVE OFF,其目的在于将共享打开,此后所有打开数据库的操作除特别指定独占打开外,则均为共享打开; 2.程序中所有打开数据库命令处作如下改动: 对于放置在服务器上的共享数据库只需加上必要的路径,例如:原先命令USE,改为USE F:\FOX\,(设该数据库存放在服务器的FOX子目录下); 对于放置在工作站上的数据库只需加上独占短语即可,例如:原先命令USE,改为USEEXCLUSIVE; 3.对于共享数据库进行写操作时必须锁记录,因此,在使用REPLACE,READ命令时须作如下改动:例如命令:REPLACE 数量 WITH 数量+1,应改为:REPLACE NEXT 1 数量 WITH 数量+1或改为: DO WHILE .NOT.RLOCK() ENDDO REPLACE 数量 WITH 数量+1 UNLOCK 对于READ命令也如此:原先命令READ,改为: DO WHILW .NOT.RLOCK() ENDDO READ UNLOCK 4.对于PACK,ZAP,REINDEX命令来说,特别应注意的是:这几条命令执行前必须将数据库独占打开,但对于共享数据库往往要避免数据库独占打开,因此,改成网络程序后应考虑何时PACK,ZAP,REINDEX,一定要统筹安排,尽量保证数据既高度共享又避免碰撞。 5.多用户网上运行程序难免发生碰撞,因此,最好编制一段出错陷井程序,来捕捉碰撞情况,提示用户是何种碰撞,是等待还是退出等等。 6.最好在主程序最开头处加上上网测试,检测一下本工作站是否顺利上网,保证程序正确运行,最简单的上网测试如下:(设YZS.DBF在服务器上FOX子目录下) IF .NOT. FILE("F:\FOX\YZS.DBF") CLEAR @ 10,10 SAY '本工作站没有上网,按任一键返回!' READ QUIT ENDIF (南京 高宁华)