Infelizmente ninguém respondeu, mas felizmente eu resolvi o problema e gostaria de compartilhar a solução na lista.
1. Se for utilizar SQL de INSERT, UPDATE, DELETE dentro de uma transação, no Delphi, com ADO, então utilize o TADOCommand (cmd.Execute), NÃO utilize o TADOQuery (qry.ExecSQL) pois este último ignora a transação em andamento; 2. TADOQuery somente utiliza Transações quando utilizamos os métodos Edit/Insert/Append + Post, pois TADOQuery herda de TDataSet e implementa a interface IProviderSupport que é utilizado nesse tipo de implementação. mD --- Em delphi-br@yahoogrupos.com.br, "Marcos Douglas" <[EMAIL PROTECTED]> escreveu > > Estou tendo um problema com ADO e transação. > O código está assim: > try > conn.BeginTrans; > {...} > qry.ExecSQL; > conn.CommitTrans; > except > conn.RollbackTrans; > end; > > Investiguei o código da unit ADODB, no Delphi, pra ver como esta parte do > código estava tratando a transação. Vi no código que, se eu utilizar ExecSQL > ou invés de Insert+Post, o ADO nem tá aí pra transação. > > Estou enviando esta dúvida para que algum dos senhores possam dizer que eu > estou errado e que diga como deveria ser feito. > > Muito obrigado. > > mD >