以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于独占式编辑问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=169614)

--  作者:lgz518
--  发布时间:2021/6/23 9:44:00
--  关于独占式编辑问题
问题一:帮助和官方实例,独占一,独占二,都是修改的独占,并非新增独占,有以下问题:

1,帮助和官方实例,独占一,独占二,都是修改的独占,可能更多考虑,在修改同一表同一行,多人操作修改,而实施独占;
     如此的话,即然是修改已有数据,那就进行实施只有编辑者自己才能看到自己的编辑的数据,从而修改自己的数据,这样
     是不是也是一种独占编辑方式?如果是,那这种方法会比帮助和官方实例,独占一,独占二简单多,代码量也少很多。

2,在实际操作中,在新增时,多人操作同一表同一行,被串改可能比较高,这时,才能体验出独占价值,那如何实现?

帮助和官方实例,独占一,独占二,都是修改的独占 。
   


--  作者:有点蓝
--  发布时间:2021/6/23 10:02:00
--  
1、是的,这种方式更好,但是不是所有人的业务都是这样的。很多时候是谁都可以改。
2、新增数据如果还没有保存,不存在被篡改的可能,因为只有当前电脑可以看得到新增的数据。如果已经保存,那么实际上就是属于修改了

--  作者:flashman
--  发布时间:2021/6/23 10:06:00
--  
1、你的思路挺好,但那只是其中一种业务,还有更多的业务是工作协同的,那就有多人共同维护一张表。

2、新增:新增的过程你了解一下:
首先,新增的行在保存前还未真正的进入数据库表中,所以对他人来说是看不到的,也就不可能多人同时操作同一表的新增的该行。
其次,新增的行保存后,就变成了前面的编辑状态,属于独占编辑的范围。

--  作者:lgz518
--  发布时间:2021/6/23 13:38:00
--  
一,修改的问题
1、是的,这种方式更好,但是不是所有人的业务都是这样的。很多时候是谁都可以改。
1、你的思路挺好,但那只是其中一种业务,还有更多的业务是工作协同的,那就有多人共同维护一张表。

对上面,我是这么理解,单表或关联表,不使用帮助中的OPENQQ独占,官方实例,独占一,独占二,因它们都是修改的独占,只做修改,即然有已存数据

1.1  那么,一般在实际操作,做修改操作是很少,更少有很多人同时很多人在做修改;
1.2 更多的业务是工作协同的,那就有多人共同维护一张表,一般在实际操作,都是在新增,录入数据操作多,做修改操作是很少。
1.3 即使,偶尔发生多人同时修改同表同行的情况,在窗口上写只,只有编辑者自己才能看到自己的编辑的数据,也只有自己能修改自己的数据,复杂点
     在加权限加于控制,比只有经理能修改折扣,一个部门不可以很多个经理,还有列控制。

1.4 就不用帮助中的OPENQQ独占,官方实例,独占一,独占二,那么复杂,要写那么代码,

  就是各看各,各改各,看不了别人,就是没办法修改别人的数据,

二,新增问题

2、新增数据如果还没有保存,不存在被篡改的可能,因为只有当前电脑可以看得到新增的数据。如果已经保存,那么实际上就是属于修改了
2、新增:新增的过程你了解一下:
首先,新增的行在保存前还未真正的进入数据库表中,所以对他人来说是看不到的,也就不可能多人同时操作同一表的新增的该行。
其次,新增的行保存后,就变成了前面的编辑状态,属于独占编辑的范围。

      我是这么理解,很多人同时在线做新增业务,录入数据,很可能发生,同时在同表同行发生多人在编辑,在编辑过程,未保存的数据,会被后编辑者所串改
这种可能会较高,控制新增的实操大于修改已有数据。
    对此我想这样操作是不是,也可以达到独占的效果?

  1,在录入窗口,执行保存后的数据,为不可编辑,若要修改时,执行修改代码,并为可编辑,这种操作,是否也算是独占?


1.1、窗口“保存修改”按钮的代码为:


Tables
("员工").Current.Save()

保存后,不可更改的代码(是锁定行吗?还是其他,这个代码我不会,请老师补充一下,谢谢,)

Messagebox.show("保存成功,数据不可更改!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)



1.2、窗口“修改”按钮的代码为:

撤销锁定或其他操作,当表或关联表为可编辑的代码(是撤销锁定行吗?还是其他,这个代码我不会,请老师补充一下,谢谢,)

Messagebox.show("可以编辑,修改数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)






--  作者:有点蓝
--  发布时间:2021/6/23 13:43:00
--  
锁定行参考:http://www.foxtable.com/webhelp/topics/0427.htmhttp://www.foxtable.com/webhelp/topics/0597.htm
--  作者:flashman
--  发布时间:2021/6/23 15:06:00
--  
问题一 你自己已经想明白了,那就按你的思路做。
问题二 你完全不用担心其他人会修改到本人新增未保存的数据,甚至刚保存的数据,其他人不重新加载的话,看都看不到。

所以,根据你问题一的解决思路,问题二的保存后,无需做锁定操作。

也就说,你根本不用考虑独占模式。

不是任何表都需要独占模式的,只有哪些大家都有可能修改的表才需要。