是这样的,我给单位做个程序,采用ORACLE816+DELPHI6 的C/S模式,我的客户段装在3个机子上,在某些代码中要对一个表经常进行UPDATE和SELECT操作,经过日积月累,我发现最后的结果的有些偏差,不是某些药少了,就是多了,我没有用到ORALCE的锁机制,我估计是没有用到锁的原因,谁能给我个详细的解决方案,写个代码也行,说下在DELPHI6下怎么用ORACLE的锁

解决方案 »

  1.   

    你是用了select * from table_name for update来查询么?如果是的话那就是你的代码的问题.你如果正常的SELECT和UPDATE来操作的话不会出现锁定
      

  2.   

    应该不是这个原因,在update的时候,数据库是自动锁的,是否你更新库存数量的逻辑有漏洞。
      

  3.   

    執行“更新”,“刪除”時最後保持一個事務的完整性。嘗試加一個事務try
      Conn.BeginTrans;
      ....
      conn.Commit;
    except
      Conn.RollBack;
    end;