当然由数据库自己处理了。DELPHI中用SQL就行了。并发的问题不是DELPHI来管的。

解决方案 »

  1.   

    并发的问题,dbms(如Oracle,SQL s)会自己负责,你只要连上数据库就行了。
      

  2.   

    try 
       事务开始  
       代码
       提交事务
     except
       事务回滚
     end
      

  3.   

    这是数据库自己的问题,delphi没有办法来控制的。
      

  4.   

    建议采用cacheupdate 模式
    当数据处在编辑状态的时候,改动只是存在本地,没有提交到数据库中,即使多个用户修改同一个记录,也不会有锁表的问题!
    最后在用户按了提交的按钮才开始事务,然后提交数据,最后提交事务!这样尽可能的减少多用户锁表的几率!
      

  5.   

    save:begin
      with dataset do
      begin
         Database.StartTransaction
         try
           if stats in [dsEdit,dsInsert] then
             post;
           if UpdatesPending then
             applyupdats;
           Database.Commit;
         except
            Database.Rollback;
         end; 
      end;
    end;