首页 新闻 会员 周边 捐助

C# 多用户多线程重复提交的问题

-1
悬赏园豆:50 [已解决问题] 解决于 2016-11-21 10:27

比如要对某个会员的积分进行增加,如果这个会员在不同的电脑上同时登录了,同时进行了操作,就会多线程操作同一条记录,这样就会发生可能同时读取原积分累加的时候,有一次没有生效,怎么防止这种情发生?

V青山绿水的主页 V青山绿水 | 初学一级 | 园豆:91
提问于:2016-11-18 11:54
< >
分享
最佳答案
0

查看一下sql事务, 就知道了, 

收获园豆:50
风浪 | 老鸟四级 |园豆:2996 | 2016-11-18 12:08
其他回答(4)
0

begin tran

  select jifen;

  jifen+=;

  update jifen;

commit tran

czd890 | 园豆:14488 (专家六级) | 2016-11-18 12:44
0

update tb set col=value where condition and timestampcol(or some column can be use as optimistic lock)=somevalue

Daniel Cai | 园豆:10424 (专家六级) | 2016-11-18 13:22
0

用事务控制 

lwr | 园豆:48 (初学一级) | 2016-11-19 10:13
0

用一楼说的事务或者数据行锁 更新的时候在表名称后面 加上 WITH(ROWLOCK)

WeihanLi | 园豆:217 (菜鸟二级) | 2016-11-19 10:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册