笔者开发的一个项目碰到一个问题:    不同的客户端读取一个表,并进行相应的处理,目前需求是:表中的同一行,不能由多个客户端来处理!    请问如何解决!
    
    我用的开发工具是:visual studio 2008,后台数据库sql server 2005.    请不要直接给我说用锁或者什么的,给点具体的。谢谢啦!

解决方案 »

  1.   

    关键是怎么用LOCK,给点代码什么的。
      

  2.   

    如何锁一个表的某一行A 连接中执行SET TRANSACTION ISOLATION LEVEL REPEATABLE READbegin transelect * from tablename with (rowlock) where id=3waitfor delay '00:00:05'commit tranB连接中如果执行update tablename set colname='10' where id=3 --则要等待5秒update tablename set colname='10' where id<>3 --可立即执行本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fredrickhu/archive/2009/09/21/4574867.aspx
      

  3.   

    常用的兩種方法
    1. 加一個時間列,儲存最后修改時間,然后每一次客戶端都讀取這列數據,更新的時候檢查是否和數據庫端的時間一致,不一致的話判定被人修改過,給警告
    2.加一列狀態列,客戶端讀取數據準備修改的時候,更新狀態列為update,然后另外客戶端修改的時候提示已經有人正在修改,修改完之后更新修改的話兩種方法都可以
    讀取只能使用第二種,鎖也可以完成,不過和客戶端的程序不容易結合
      

  4.   

    谢谢fredrickhu
    有没有C#的代码。给点参考!