locked
如果禁止其他用户编辑同一条记录? RRS feed

  • 问题

  • 各位好!

     

    现在做一个Web网站开发,有一个问题,请赐教。

     

    画面A里面显示查询结果一览,用户A在这一览里选中一行,到画面B上编辑。当用户A正在编辑的时候,用户B在同样内容的查询结果一览中,选中与用户A正在编辑的相同的一行,准备到画面B上去编辑。这种情况下,当2用户提交编辑的内容时,其中一个人编辑的信息就没有了。

     

    我的想法是,在用户B在选中同一行并准备到画面B上去编辑的时候,在画面B加载的时候,就给出错误信息,并且在画面B上不现实。然而,怎样实现呢?

     

    我是使用VB.NET 和 SQL SERVER 2005。

     

    请大家赐教。不胜感激!

     

     

    2008年2月15日 2:57

答案

  • 最简单的方法是在服务器上利用Application对象来标记一下某数据的状态。

    2008年2月16日 8:53

全部回复

  • 最简单的方法是在服务器上利用Application对象来标记一下某数据的状态。

    2008年2月16日 8:53
  •  

    SQL SERVER 2005中已经实现了开放式并发处理机制(名字好像是这样)。

     

    具体为当你创建了一个sqldatasource并设置好连接参数后,请选择“高级”按钮,然后你会看见有使用“insert、delete,update command”命令一项,请你点击后该项,然后就会看到下面“开放式并发”该项被激活,请继续选择。

     

    待设置好后,如果发生上述条件,系统就会捕捉信息和解决冲突。详细可在百度搜搜

    2008年4月7日 5:22
  • 可以通过在表中增加相应标志位来区分,当某个用户开始编辑这条记录的时候将标志位置为ON,编辑完置为OFF,每个其他用户在进行疾苦的编辑操作之前都判断标志位是否为OFF,如果不为OFF,就报错误消息,直到到为ON才进行操作。
    2008年4月7日 9:08