Transação não funciona

MySQL

Delphi

31/10/2014

Olá Amigos, alguém poderia me ajudar a resolver esse problema? Estou querendo trabalhar com transação no meu projeto, mas acontece que não está acontecendo nada, o rollback não funciona. Segue o meu código, lembrando que estou utilizando delphi xe2, dbx e mysql.

var
Trans: TDBXTransaction;
begin
if DataSource_Cadastro.DataSet.State = dsInsert then
begin
try
Trans := DataModule_Principal.SQLConnection_Geral.BeginTransaction(TDBXIsolations.ReadCommitted);

AtualizarCadastroPessoa;
DataSource_UpdatePessoa.DataSet.Post;
(DataSource_UpdatePessoa.DataSet as TClientDataSet).ApplyUpdates(0);

DataSource_Cadastro.DataSet.Post;
(DataSource_Cadastro.DataSet as TClientDataSet).ApplyUpdates(0);

DataSource_Login.DataSet.Post;
(DataSource_Login.DataSet as TClientDataSet).ApplyUpdates(0);

DataModule_Principal.SQLConnection_Geral.CommitFreeAndNil(Trans);
finally
DataModule_Principal.SQLConnection_Geral.RollbackIncompleteFreeAndNil(Trans);
end;

Lembrando que configurei o evento "onReconcileError" dos ClientDataSet e nesse pequeno trecho de código, a exceção ocorre no ultimo ClientDataSet, o de Login.

Espero que tenham entendido o meu problema e assim me ajudem, agradeço desde já pela atenção de todos.
Anderson Ferreira

Anderson Ferreira

Curtidas 0

Melhor post

Anderson Ferreira

Anderson Ferreira

04/11/2014

Sim Claudio já resolvi, obrigado
GOSTEI 1

Mais Respostas

Anderson Ferreira

Anderson Ferreira

31/10/2014

Alguém?
GOSTEI 0
Anderson Ferreira

Anderson Ferreira

31/10/2014

Nossa, ninguém passou por esse problema ou está trabalhando com transação atualmente?
GOSTEI 0
Anderson Ferreira

Anderson Ferreira

31/10/2014

Galera consegui, tem um post [url]https://www.devmedia.com.br/forum/controle-de-transacao-com-dbexpress-fb2-5-e-delphi-2010/395073[/url] que o Marco Antonio Salles explica certinho, duro que eu já tinha visto esse post umas 50x e não me atentei para o detalhe da condição que ele colocou para o commit.

Não sei como faz pra marcar resolvido
GOSTEI 0
Claudio Ferreira

Claudio Ferreira

31/10/2014

Galera consegui, tem um post https://www.devmedia.com.br/forum/controle-de-transacao-com-dbexpress-fb2-5-e-delphi-2010/395073 que o Marco Antonio Salles explica certinho, duro que eu já tinha visto esse post umas 50x e não me atentei para o detalhe da condição que ele colocou para o commit.

Não sei como faz pra marcar resolvido


Resolveu ou não ?

Tabelas que são manipuladas com MyISam não suportam transações, mude o engine para InnoDB
GOSTEI 0
POSTAR