要实现的功能是=> 
用户点击datagridview某一行时,能取到相应的id,这时候我想对表中该id对应的那行数据进行锁定,目的是不允许其它用户update,但允许自己update(如果自己update的话应该先解锁一下吧)。
当用户点击datagridview其它行的时候(或者直接关闭页面时),这时要对上次点击那条记录进行解锁(就是指上次点击datagridview的那条记录)。这个功能应该怎么实现最合适呢?PS:还有个小问题,有没有个简单的方法可以取到用户【上次】点击的是datagridview中的哪一行(id)么? 我暂时能想到的方法是在点击事件中标识变量来记录,感觉这个方法不太好,有更好的方法么?

解决方案 »

  1.   

    你是SQLSERVER还是Oracle,你是直连数据库还是有服务端统一访问数据库。
      

  2.   

    在表里建一个标示列,代表条数据被谁锁,在用rowlock去锁那条数据把标示设为当前用户在修改
      

  3.   

    最简单  最直接  最方便的做法就是直接在表里加个字段  比如isLock这样的标识  点击的时候更新这个字段最好记下来是谁进行的锁定,以前发生意外没来得及解锁时,下次用户登录能够查到这样的数据再次进行操作这样做省事 省力 省脑子,最重要的是能够解决你的问题
    至于记录用户动作,随便你自己用SESSION COOKIE或者CACHE都行看你个人喜好了,实在不行你数据库里加上用户的操作记录表