以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  网络环境下多人同时录入一张表有冲突  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42906)

--  作者:tj-pacer
--  发布时间:2013/11/25 21:06:00
--  网络环境下多人同时录入一张表有冲突
在局域网内几个人同时向一个BOM表录入内容(都增加行),只能录入一人输入的内容,其他人录入的内容丢失。如何解决?
--  作者:有点甜
--  发布时间:2013/11/25 21:17:00
--  
 照理是不会有这种情况的。原始的情况。

 1、是否每个录入人都在其电脑上有一个客户端,而且你的数据库是access或者是sqlserver?

 2、保存前是否写有什么代码?或者其他录入人没有保存修改?

 3、检测一下你的数据库里是否写有触发器之类的规则。

--  作者:tj-pacer
--  发布时间:2013/11/25 21:52:00
--  
以下是引用有点甜在2013-11-25 21:17:00的发言:
 照理是不会有这种情况的。原始的情况。

 1、是否每个录入人都在其电脑上有一个客户端,而且你的数据库是access或者是sqlserver?

 2、保存前是否写有什么代码?或者其他录入人没有保存修改?

 3、检测一下你的数据库里是否写有触发器之类的规则。

明天我再查一下,每人都有客户端,数据库是access. 保存前没写代码。谢谢!


--  作者:taoliqing
--  发布时间:2013/11/27 21:39:00
--  

我也遇到了这样的情况,同一张表,AB2个人同时增加数据,比如,A录入了30条记录, B录入了30条记录,最后会发现一共只有55条记录,有几条数据被对方的数据覆盖掉了,我的数据库是slq的,里面有一列 员工id是自动加1的,请教大家怎么处理


--  作者:有点甜
--  发布时间:2013/11/27 21:45:00
--  
 回复4楼,得看数据是新增的,还是修改的,如果是在原本基础上修改的话,是会覆盖的。
--  作者:taoliqing
--  发布时间:2013/11/27 22:09:00
--  
数据是新增的,A输了几条,直接保存,继续输入,,B也是如此操作, AB直接在表里面输入的,最后在进行数据核对的时候,就会有发现,有几个数据没有录入进去,有几个数据被覆盖了。软件没有设计独立的录入窗体,直接在表里面增加数据来操作的,  因为员工id是主键,A新增数据时编号排到153,这个时候B也在录入数据,但是A的数据还还有保存到数据库,B新增数据也会跳出153的编号,这个时候A保存后,B再保存,就会出现数据被覆盖掉
--  作者:有点甜
--  发布时间:2013/11/27 22:11:00
--  
 把_Identify设置成主键,不要把员工id设置成主键。

 如果员工id设置成主键,请设置其成自增型的。

--  作者:taoliqing
--  发布时间:2013/11/27 22:20:00
--  

我想新增一条记录的时候,先向数据库读取最新的数据,然后新增一条记录,接着立即存入数据库,虽然效率低了一定,但是因该可以解决问题。

然后我是这样操作的,

表属性beforeadddatarow事件中  datatables(“员工明细表”).loda

 

DataRowAdding事件中e.DataTable.Save

可是这样设置后,客户反应 还是会有数据被覆盖掉,60条数据出现2条被覆盖,请问问题可能出在哪里?


--  作者:有点甜
--  发布时间:2013/11/27 22:27:00
--  
 最原始的新增,就是可以不重复的。

 不要把员工id设置成主键,用原先的_Identify

--  作者:taoliqing
--  发布时间:2013/11/27 22:33:00
--  
我现在员工id就是主键啊,也是自增型的,就是感觉 在表里面新增一行,未点保存前,程序既没有重sql数据库读取最新数据,也没有立即把新增的行添加到数据库里