Transação no Delphi 2010
Boa noite pessoal.
Gostaria de saber se alguém teve problemas com transações no Delphi 2010, pois esta dando erros na hora de compilar o meu código que era antes no D7.
Segue parte do Código:
var
Trv: TTransactiondesc;
begin
// Define a transacao chamada Trv
Trv.TransactionId := 2;
Trv.IsolationLevel := xilReadCommitted;
// Ativa a Transacao.
Dm.SQLConnect.StartTransaction(TrV);
try
{realiza as partes do procedimento}
.
.
.
.
.
.
.
.
.
except
// em caso de problemas com a transacao avisa e desfaz alteracoes
// nao gravandos os dados na tabela.
MensagemTeclado('Ocorreu uma falha grave na abertura da venda');
Application.MessageBox('Falha grave na abertura de nova venda - Abertura cancelada!','Informação', mb_ok + Mb_IconWarning);
Dm.SQLConnect.Rollback(TrV);
Application.Terminate;
end; // Fecha Try/Except.
O erro galera, ocorre no não reconhecimento do TTransactionDesc, então estou procurando uma outra solução que faça transação no delphi 2010.
Utilizo agora o Delphi 2010+Firebird com DbExpress
Grato a todos
Valnei
Gostaria de saber se alguém teve problemas com transações no Delphi 2010, pois esta dando erros na hora de compilar o meu código que era antes no D7.
Segue parte do Código:
var
Trv: TTransactiondesc;
begin
// Define a transacao chamada Trv
Trv.TransactionId := 2;
Trv.IsolationLevel := xilReadCommitted;
// Ativa a Transacao.
Dm.SQLConnect.StartTransaction(TrV);
try
{realiza as partes do procedimento}
.
.
.
.
.
.
.
.
.
except
// em caso de problemas com a transacao avisa e desfaz alteracoes
// nao gravandos os dados na tabela.
MensagemTeclado('Ocorreu uma falha grave na abertura da venda');
Application.MessageBox('Falha grave na abertura de nova venda - Abertura cancelada!','Informação', mb_ok + Mb_IconWarning);
Dm.SQLConnect.Rollback(TrV);
Application.Terminate;
end; // Fecha Try/Except.
O erro galera, ocorre no não reconhecimento do TTransactionDesc, então estou procurando uma outra solução que faça transação no delphi 2010.
Utilizo agora o Delphi 2010+Firebird com DbExpress
Grato a todos
Valnei
Valnei Reis
Curtidas 0
Respostas
Marco Salles
05/04/2010
Valnei Henrique dos Reis no Delphi 2010 vc deve descontinuar o Uso do TTransactiondesc;
Agora a nova classe é TDBXTransaction na Unit Use DBXCommon; e Pode ser usada assim var
transaTesteRollback: TDBXTransaction;
begin
transaTesteRollback := SQLConnection1.BeginTransaction(TDBXIsolations.ReadCommitted); try Seu Commandos de insert, delete , Update
SQLConnection1.CommitFreeAndNil(transaTesteRollback);
finally
SQLConnection1.RollbackIncompleteFreeAndNil(transaTesteRollback);
end;
Agora a nova classe é TDBXTransaction na Unit Use DBXCommon; e Pode ser usada assim var
transaTesteRollback: TDBXTransaction;
begin
transaTesteRollback := SQLConnection1.BeginTransaction(TDBXIsolations.ReadCommitted); try Seu Commandos de insert, delete , Update
SQLConnection1.CommitFreeAndNil(transaTesteRollback);
finally
SQLConnection1.RollbackIncompleteFreeAndNil(transaTesteRollback);
end;
GOSTEI 0