Trasacoes com SocketConnection
ai galera estava meio sumido mais agora voltei.
o seguite quanto eu usava o SQLConnection eu realizava um controle de trazação assim:
var
TransDesc:TTransactionDesc;
TransDesc.TransactionID:=1;
TransDesc.IsolationLevel:=xilREPEATABLEREAD;
DM.SQLConn.StartTransaction(TransDesc);
agora eu estou usando o SocketConnection
como faço o mesmo processo? um controle de transação?
firebird 1.5
obrigado
o seguite quanto eu usava o SQLConnection eu realizava um controle de trazação assim:
var
TransDesc:TTransactionDesc;
TransDesc.TransactionID:=1;
TransDesc.IsolationLevel:=xilREPEATABLEREAD;
DM.SQLConn.StartTransaction(TransDesc);
agora eu estou usando o SocketConnection
como faço o mesmo processo? um controle de transação?
firebird 1.5
obrigado
Jbspio
Curtidas 0
Respostas
Jbspio
26/05/2006
Código:
{ ... }
var
TudoOK: Boolean;
Transacao: TTransactionDesc;
begin
try
{ **** Iniciando a transação **** }
Transacao.TransactionID:= 1;
Transacao.IsolationLevel:= xilReadCommitted;
SeuSQLConnection.StartTransaction(Transacao);
{ **** Aplicando os updates **** }
if ClientDataSet1.ApplyUpdates(0) = 0 then
begin
ClientDataSet2.Insert;
PreencheClientDataSet2;
ClientDataSet2.Post;
if ClientDataSet2.ApplyUpdates(0) = 0 then
TudoOK:= True;
// TudoOK só será true se não houver erro em nenhum Update
end;
{ **** Confirmando ou voltando a transação **** }
if TudoOK then
SeuSQLConnection.Commit(Transacao)
else
SeuSQLConnection.Rollback(Transacao);
except
// Ocorreu uma exceção qualquer no bloco ...
SeuSQLConnection.Rollback(Transacao);
end;
é issu que quero mais só com SocketConnection e não com o SQLConnection.
obrigado
{ ... }
var
TudoOK: Boolean;
Transacao: TTransactionDesc;
begin
try
{ **** Iniciando a transação **** }
Transacao.TransactionID:= 1;
Transacao.IsolationLevel:= xilReadCommitted;
SeuSQLConnection.StartTransaction(Transacao);
{ **** Aplicando os updates **** }
if ClientDataSet1.ApplyUpdates(0) = 0 then
begin
ClientDataSet2.Insert;
PreencheClientDataSet2;
ClientDataSet2.Post;
if ClientDataSet2.ApplyUpdates(0) = 0 then
TudoOK:= True;
// TudoOK só será true se não houver erro em nenhum Update
end;
{ **** Confirmando ou voltando a transação **** }
if TudoOK then
SeuSQLConnection.Commit(Transacao)
else
SeuSQLConnection.Rollback(Transacao);
except
// Ocorreu uma exceção qualquer no bloco ...
SeuSQLConnection.Rollback(Transacao);
end;
é issu que quero mais só com SocketConnection e não com o SQLConnection.
obrigado
GOSTEI 0