领测软件测试网
一、原则
网路软件的最重要原则就是不能两个人同时更改一个数据。否则都会引起冲突foxpro中打开时独占是什么意思,不知以谁的更改为准。
二、普通的解决办法
最普通的办法是在要更改数据时将数据表以独占方法打开,所谓“独占”就是促使数据只能自己使用,而他人不能使用,既不能更改,也不能查看。独占打开表的命令是在use命令中加exclusive谓词,例如:
usersdaexclusive
这样就不会出现两个人同时更改一个数据的情况了。
三、共享数据
倘若您只是查看数据,而不进行更改,这么您应当以共享方法打开表foxpro中打开时独占是什么意思,否则他人也就没办法查看数据了,假如你们都是查看,不会有任何的冲突发生,虽然查看的是同一个数据。
共享方法打开表的命令是use...share,例如:
usersdashare
对于数据库也是一样的处理:
opendatabase...share
独占打开则是:
opendatabase...exclusive
四、友好的提示
假若您以独占方法打开了表,他人无论用独占或共享方法打开表就会出错,错误是“不能存取文件”,错误代码是1705;另外假如有人以共享方法打开了表,其它人企图以独占形式再打开,也会出现同样的错误。
若果在程序中出现这样的错误,可能使操作者莫名其秒,倘若能给出比较友好的提示就好了,方式是用onerror句子捕捉错误,一旦捕捉到错误即给出一个友好的提示,例如在须要共享打开数据时:
onerrorerr=error()
*前面这条就是捕捉错误的陷阱,如在下边任何地方出现错误就将错误代码存入err变量,并不显示错误。
usersdashare&&假如这时出现错误,错误代码才会存入err,但是表不会打开,也不会出现错误提示。
iferr=1705&&倘若错误代码是1705
*给出自己的提示
messagebox(@#数据正在被其它人更改,您暂时不能使用,请稍后再试。@#,16,@#注意@#)
endif
onerror&&取消捕捉错误