• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

Foxpro 网络版软件初步

发布: 2007-7-02 11:08 | 作者: admin | 来源: | 查看: 19次 | 进入软件测试论坛讨论

领测软件测试网

一、原则

网络软件的最重要原则就是不能两个人同时修改一个数据。否则就会造成冲突,不知以谁的修改为准。

二、普通的解决办法

最普通的办法是在要修改数据时将数据表以独占方式打开,所谓“独占”就是使得数据只能自己使用,而别人不能使用,既不能修改,也不能查看。独占打开表的命令是在 use 命令中加 exclusive 子句,比如:

use rsda exclusive

这样就不会出现两个人同时修改一个数据的情况了。

三、共享数据

如果您只是查看数据,而不进行修改,那么您应该以共享方式打开表,否则别人也就没办法查看数据了,如果大家都是查看,不会有任何的冲突发生,即使查看的是同一个数据。

共享方式打开表的命令是 use ... share ,比如:

use rsda share

对于数据库也是一样的处理:

open database ... share

独占打开则是:

open database ... exclusive

四、友好的提示

如果您以独占方式打开了表,别人无论用独占或共享方式打开表都会出错,错误是“不能存取文件”,错误代码是1705;另外如果有人以共享方式打开了表,其它人试图以独占方式再打开,也会出现同样的错误。

如果在程序中出现这样的错误,可能使操作者莫名其秒,如果能给出比较友好的提示就好了,方法是用 on error 语句捕捉错误,一旦捕捉到错误即给出一个友好的提示,比如在需要共享打开数据时:

on error err=error()
*上面这条就是捕捉错误的陷井,如在下面任何地方出现错误就将错误代码存入err变量,并不显示错误。
use rsda share &&如果这时出现错误,错误代码就会存入err,并且表不会打开,也不会出现错误提示。
if err=1705 &&如果错误代码是1705
*给出自己的提示
messagebox(@#数据正在被其它人修改,您暂时不能使用,请稍后再试。@#,16,@#注意@#)
endif
on error &&取消捕捉错误

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/