网络开发技术文章,第1张

网络开发技术文章,第2张

一、主要问题

在简单的局域网环境下开发VFP程序时,要注意数据共享冲突的问题。

第二,解决方案

在明确了网络设计的关键点——如何解决两个或两个以上用户同时修改数据时的冲突之后,我们来讨论一下这个问题的解决方法。

基本上有三种方法:

1.独占访问数据;

2.获取数据共享;

3.缓冲数据访问;

其中《作物中级教程》第十三课《初步网络规划》有两点是这方面的介绍。为了方便大家整体阅读,我在这里多给大家说几句啰嗦的话。

1)独占模式

以独占方式打开的表,其他用户不能读写该文件。

代码:

将exclusive设置为on或使用XXX exclusive

使用XXX

只能在独占模式下执行的命令包括index、reindex、pack、zap、alter table、insert,

莫迪斯图等人。

2)分享模式

以共享方式打开并可由多个用户同时访问的表。

代码:

设置独占关闭或使用XXX共享

使用XXX

在添加或更新共享数据表时,涉及到加锁和解锁的问题。

[2-1]锁定数据

一般来说,数据锁定有两种类型:自动锁定和手动锁定。

自动锁定意味着一些vfp命令会在执行前自动锁定一条记录或一个表。如果命令成功锁定,将继续执行,执行后将解锁。(vfp命令的自动锁定范围见相关书籍)

手动锁定是使用锁定功能手动锁定一条记录或一个表。可能的功能有:

Rlock()锁定记录(rlock()相当于lock())

Flock()锁定表

将重新处理设置为[锁定尝试次数]

Set multilock on锁定多个记录的系统设置。

is locked()/is focked()测试is locked()/is locked。

代码:

设置独占关闭和共享模式

将重新处理设置为1并锁定一次

使用XXX &&打开共享表

IF Flock() &&锁表并判断是否成功。

& &如果您不想锁定记录,但只想测试它是否被锁定,请使用isrocked()。

用XX替换所有XX && lock成功执行替换。

解锁和解锁

其他

另一个用户正在使用“等待窗口”文件表示在相应一个网络连接之后

结束条件

[2-2]数据解锁

与锁定相比,解锁数据有两种方式。

对于自动锁定的记录,只需移动记录指针即可解锁。

对于手动锁定的记录,您必须使用以下解锁命令:

解锁,全部解锁

结束事务,tableupdate()

此外,在使用set multilocks off或flood()命令建立新锁之前,还有更彻底的命令可以自动解锁当前锁:clear all、close all、quit。怎么样?彻底!:)

[2-3]我还想说一件事

设计表单的时候,私有数据工作周期用的原因比较长,就不说了。

3)缓冲模式

缓冲有两种方式:使用缓冲的概念共享数据和事务处理。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 网络开发技术文章

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情