以文本方式查看主题 - 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数据库读取最新数据,也没有立即把新增的行添加到数据库里 |