当前位置:编程学习 > C#/ASP.NET >>

程序的并发性控制

各位好,小弟最近碰到一个问题.用户A和B同时打开页面后,用户A把记录a的状态从0改成1.然后用户B要修改的时候,他的状态已经不是0了.希望大虾们不吝赐教! --------------------编程问答-------------------- 这种方式一般采用乐观锁进行处理。

也就是说,这条数据所在的数据表增加一个 VERSION 的字段,在每 UPDATE 时将其中的值加 1,这样去更新:

UPDATE test t
   SET t.a = 'aaa',
       t.b = 'bbb',
       t.version = t.version + 1
 WHERE t.id = 11111
   AND t.version = 0


在更新时再加一个条件(VERSION 条件可以从 SELECT 中取出放到页面上)和更新 SET,如果 UPDATE 返回影响的行数小于 1 的话,表示更新没有成功,可以提示用户类似于刷新后再次尝试之类的。
补充:.NET技术 ,  非技术区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,