我现在遇到个问题,就是用delphi开发SQL数据库系统,当多个用户同时使用的时候,如何处理好并发访问。delphi有办法解决吗?或是sql的锁 但锁机制不太懂。请教给位了。谢谢

解决方案 »

  1.   

    用BEGIN TRAN和COMMINT TRAN搞事物处理.
      

  2.   

    客户端确实不多,就三个,可是有时候还是会出现问题。事务处理是在ADO的使用的吗?能不能举个例子。?谢谢。
      

  3.   

    使用事务处理,如果在查询数据的时候,因为其它用户在写数据而记录被锁,可以使用with nolock,但可能会引起脏读 
      

  4.   

    或者说,在delphi里,如何读取SQL数据库中的某个表(order)的现在的状态(比如插入,修改等)?我想判断这个表的现在的状态,然后决定用户的操作,这样也可以避免多用户的问题吧。
      

  5.   

    采用事务机制吧,这样应该可以满足你的要求
    adoconnection.begintrans;
    try
      ....处理代码
      adoconnection.committrans;
    except
      adoconnection.rollbacktrans;
    end;