Hola amigos, tengo un problema con las transacciones:
if not (XssDM.MainTS.InTransaction) then XssDM.MainTS.StartTransaction; try //// aqui instrucciones de insert y update lo usual XssDM.MainTS.Commit; except on E: Exception do begin XssDM.MainTS.Rollback; ERRO_MSG := E.Message; MessageDlg(PCHAR('Ocurrio un error.' + #13 + E.MESSAGE), mtInformation, [mbOK], 0); lblHINT.Caption := 'Ocurrio un error al generar la transaccion...'; lblHINT.Font.Color := clRed; exit; end; end;
el problema que tengo es que no detecta la instruccion InTransaction, si en dos computadoras ejecutan esa instruccion casi al mismo tiempo, la transaccion genera el deadlock, porque no espera a que la transaccion termine.,
estoy utilizando los componentes de interbase.
Saludos!