我用的是TDatabase,Interbase6,如果已经有一处事务,再StartTransaction会出错。事务好像可以嵌套吧,不懂怎么处理,望大侠相助!

解决方案 »

  1.   

    能.我用的是sqlserver ,你在好好查查资料.
      

  2.   

    sqlserver是可以,Ib不懂行不行
      

  3.   

    用两个Database可以嵌套,但它们好像是完全独立的,没有你事务Rollback,子事务不管是否已Commit,全部RollBack这种效果
      

  4.   

    if not Database1.InTransaction then
        Database1.StartTransaction;//能否解决
      

  5.   

    to madyak:
    if not Database1.InTransaction then
        Database1.StartTransaction;//能否解决
    我有试过用同一个Database:嵌套事务只相当一个事务,子事务根本没
    启动。如果用两个Database:相当几个完全不相关的事务;
      

  6.   

    好象一个database行不通的,可以定义两个database来运行呀
      

  7.   

    你可以使用两个三层的结构,
    这样就可以
    而且也只要一个database。
      

  8.   

    现在有一种方法是:用多个Database,而且每个Query.Databasename设为嵌套最外层的那个Database.Databasename,这样会有嵌套的效果,不知还有没更好的办法?