Ver Mensaje Individual
  #8  
Antiguo 15-05-2018
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Reputación: 9
Soa Pelaez Va por buen camino
Cita:
Empezado por gatosoft Ver Mensaje
Habría que ver un ejemplo de lo que hablas... ¿dices que ingresas a dos bases distintas, pero al hacer una transacción ambos programas retornan la misma información? (¿te refieres a ejecutar un ExceSQL, o a un startTransacction?, o a qué?).


Necesitamos código ejemplo
Realizó lo siguiente, luego de guardar retorno una variable con un número del registro que guardo y eso lo devuelvo al cliente, pero cuando el cliente A y el cliente B le dan guardar al mismo tiempo, uno de los
dos pierde el registro e igual no retorna el número.

Código Delphi [-]
    Conexion.StartTransaction;
    try
      iErrors := Squema.ApplyUpdates(0);
      if iErrors = 0 then
      begin
        for x := 0 to Squema.Count - 1 do
        if Squema.DataSets[x].UpdatesPending then
        begin
          Squema.DataSets[x].CommitUpdates;
          Conexion.Commit; //09/12/2015
          _ResultadoMD := 1;
        end;
      end
      else
      begin
        _ResultadoMD := 0;
        Conexion.Rollback;
      end;
    except
      on e: Exception do
      begin
        Conexion.Rollback;
       //Aqui si el número existe lo aumenta e inicia nuevamente una transacción
      end;
    end;
   //Aqui retorno el número guardado para enviarselo al cliente por medio de una función que retorna un entero.
   retNumeroDoc()
Responder Con Cita