当多用户同时操作同一个记录,用户A修改了某字段a,用户B修改了字段b,当A先保存,好像B就无法保存了,如何解决!!!???我用的是AODQUERY控件、SQL server数据库

解决方案 »

  1.   

    try
      adoquery1.post;
    except
      showmessage('已被其他用户修改');
      raise;
    end
      

  2.   

    直接写UPDATE Table Set 不就行了呗
      

  3.   

    好像大家都是adoquery1.post直接提交,UPDATE set 的话,我又不知道到底改了表的那个字段,很不合理。
      

  4.   

    写SQL语句呗,剩下事情交数据库去处理了
      

  5.   

    加上事务
    adoconnection1.begintrans;
    语句处理
    if 失败 then
     begin
         rollback;
    end else
         commit;
    end;
      

  6.   

    不能对表的某一记录的字段进行这样处理,要处理就让A用户在修改记录时对此记录进行锁定,不允许B用户在A用户使用的情况下再对其进行操作,如果要实现楼主“这样不是解决问题的方法,我看了其他软件,好像可以做到B也可以保存,而且数据以B保存的数据为准。”,我个人认为这个难度太大了,而且不实际
      

  7.   

    adoconnection1有事務處理功能。可以試下
      

  8.   

    如果在a用户执行post成功后,B用户应该可以保存的,不会出现楼主所说的那个问题呀。我用的是sql server数据库测试了,没问题