adoconn.begintrans;
try
//这里如果想多个表提交数据,是否还需要Post?
adoconn.committrans;
except
adoconn.rollback;
end;

解决方案 »

  1.   

    在数据库操作中,一项事务是指由一条或者多条对数据库更新的sql语句所组成的一个不可分割的工作单元。使用的格式就跟你自己写的那样差不多呀。adoconn.committrans;就是提交的语句。adoconn.begintrans;与adoconn.committrans;中间的代码该怎么写还怎么写。
      

  2.   

    当然需要Post了!事务是起到回滚的作用!
    如你有100条数据需要插入,现在你插入了50条,第51条插入失败,则执行事务回滚,把前50条已保存的数据取消
    不知这样说,楼主明白了没有!
      

  3.   

    事务“提交”或者是“回滚”好比就是正式执行是不?
    这样的话我前面做的post或者edit、delete都是缓存里做了,还没有正式写回数据库。这样理解正确么???
      

  4.   

    数据库有所谓的ACID要求,你随便找一本书看看,事务就是为了实现这个而设计的。一个事务一般包含很多SQL查询语句,如果顺利提交,则每一句都执行了,如果回滚,则一句也没有执行。Post是必须的。
    “这样的话我前面做的post或者edit、delete都是缓存里做了,还没有正式写回数据库。”
    可以这样理解吧。因为只有事务提交之后,数据库内的信息才被确认已经改写了状态。