GARANTIR DESCONTO

Fórum Transação não funciona #499833

31/10/2014

0

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

Responder

Post mais votado

04/11/2014

Sim Claudio já resolvi, obrigado

Anderson Ferreira

Anderson Ferreira
Responder

Gostei + 1

Mais Posts

03/11/2014

Anderson Ferreira

Alguém?
Responder

Gostei + 0

04/11/2014

Anderson Ferreira

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

Gostei + 0

04/11/2014

Claudio Ferreira

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
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar