Foxtable(狐表)用户栏目专家坐堂 → openqq独占编辑好像并不能保障独占


  共有1891人关注过本帖树形打印复制链接

主题:openqq独占编辑好像并不能保障独占

帅哥哟,离线,有人找我吗?
chen3728060
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:388 积分:5098 威望:0 精华:0 注册:2013/11/2 0:01:00
openqq独占编辑好像并不能保障独占  发帖心情 Post By:2016/12/16 10:13:00 [只看该作者]

异常 后果 解决方法
服务器没有收到客户端发出的编辑请求 本次申请失败,对后续操作没有影响,任何用户都可以继续尝试编辑此行。  
客户端没有收到服务器发出的允许编辑信号 本次申请失败,但对本人的后续操作没有影响,不过其他用户对此行的编辑申请将被拒绝。 1、本人可以继续尝试编辑此行,编辑后保存,其他用户即可正常申请编辑此行了。
2、如果本人关闭项目或退出QQClient,那么其他用户也可以正常申请编辑此行了。
3、如果本人没有进行上述操作,但是其他人需要编辑此行,由于其他人在尝试编辑的时候,会知道是谁正在编辑此行,他可以通知你采取措施解除锁定。
服务端没有收到客户端发出的结束编辑信号 对本人的后续操作没有影响,不过其他用户对此行的编辑申请将被拒绝。 同上
客户端在编辑过程中异常退出 其他用户对此行的编辑申请将被拒绝。 1、本人可以重新打开项目,继续编辑此行,编辑后保存,其他用户即可正常申请编辑此行了。
2、本人可以重新打开项目,然后直接关闭,其他用户也可以正常申请编辑此行了。
3、即使本人异常退出后,不再打开项目,一段时间后,服务器也会自动清除此行的编辑标记,其他用户可以继续申请编辑此行,等待的时间由
QQServer的HeartbeatTimeout(心跳超时)属性决定。

 

针对上面红色字体的情况,想到一种这样的情形。

 

①我对这个行进行编辑,例如我写 【已收款】=50元,行号变成橙色了,我还没保存。然后我断网,断网10分钟,服务器清除了我的行编辑标记。

②小明也来编辑这一行了,小明写【已收款】=100元,编辑完成,保存。

③这时候我再来联网,我点一下保存。那【已收款】就被我改回来了。

 

我想到实际应用中,肯定有的人会像很忙,单据编辑到一半,然后就出去了,然后电脑待机,进入睡眠,断网了,客户端心跳超时被服务器清除标记。其他人继续编辑单据,单据都改了很多东西了。然后那个人终于忙完回来了,对着早上那状态的单据,直接点保存,把其他同事今天编辑的内容都覆盖了。这种情况怎么解决?


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/16 10:31:00 [只看该作者]

 强制退出的时候,Disconnected事件,客户端强制保存一次项目,或者是退出项目。


 回到顶部
帅哥哟,离线,有人找我吗?
chen3728060
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:388 积分:5098 威望:0 精华:0 注册:2013/11/2 0:01:00
回复:(有点色) 强制退出的时候,Disconnected...  发帖心情 Post By:2016/12/16 11:21:00 [只看该作者]

能具体说说 是什么意思吗?写disconneect事件?如果写表保存按钮,disconnect,我里面超过100个表,其实不是写一堆保存事件?遍历表去保存也很影响性能,而且有的人本身网络不太稳定,openqq本身会偶尔断开然后又连,这样保存,很容易保存到一半断了,然后有些表也是有必填字段,还没填那些字段触发了保存,就会messagebox.show触发那些必填提醒,想退出 也很麻烦。所以麻烦请具体说一下


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/12/16 11:32:00 [只看该作者]

很简单,直接去掉服务器自动清除编辑标记的代码即可,意外中断,直接锁死此行,只有本人才能编辑解锁,


 回到顶部
帅哥哟,离线,有人找我吗?
chen3728060
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:388 积分:5098 威望:0 精华:0 注册:2013/11/2 0:01:00
回复:(狐狸爸爸)很简单,直接去掉服务器自动清除编...  发帖心情 Post By:2016/12/16 11:39:00 [只看该作者]

这思路好,简单粗暴又可靠

 回到顶部
帅哥哟,离线,有人找我吗?
chen3728060
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:388 积分:5098 威望:0 精华:0 注册:2013/11/2 0:01:00
回复:(狐狸爸爸)很简单,直接去掉服务器自动清除编...  发帖心情 Post By:2016/12/16 11:57:00 [只看该作者]

狐爸,还想问一下,disconnected事件,里面应该不能放对外部数据库操作的语句吧?我觉得已经断开,外部表都连接不上了,更不能save功能。

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/16 12:17:00 [只看该作者]

以下是引用chen3728060在2016/12/16 11:57:00的发言:

狐爸,还想问一下,disconnected事件,里面应该不能放对外部数据库操作的语句吧?我觉得已经断开,外部表都连接不上了,更不能save功能。

 

 

加上判断能否连上数据库的代码呗。如果能连上,就save。


 回到顶部