Ver Mensaje Individual
  #1  
Antiguo 28-07-2023
Elias011267 Elias011267 is offline
Miembro
 
Registrado: jul 2020
Posts: 73
Reputación: 4
Elias011267 Va por buen camino
Cliente(s) y servidor

Tengo un problema muy curioso en mi desarrollo del proyecto, es una aplicación bajo la plataforma datasnap rest con una aplicación servidor y 3 aplicaciones cliente. En las tres aplicaciones clientes hago las consultas al servidor correctamente, es decir, hay buena conexión, pero solo en una puedo actualizar las tablas. Lo que me tiene halándome los pelos es que las 3 aplicaciones cliente tiene el mismo código para actualizar y la Tmemtable tiene la misma estructura. Que norma no estoy cumpliendo que hace que dos aplicaciones no funcione la actualización?.

Aqui les dejo el fuente del metodo en el servidor
Código Delphi [-]
procedure TServerMethods1.act_contacto(listadelta: tfdjsondeltas);
var
 LApply: IFDJSONDeltasApplyUpdates;
begin
  LApply := TFDJSONDeltasApplyUpdates.Create(listadelta);
  conexion.StartTransaction;
  try
     LApply.ApplyUpdates(0, qconsulta.Command);
     if lapply.Errors.Count= 0 then conexion.Commit;
    except on e: Exception do
    begin
     raise Exception.Create('Error mensaje: '+ e.Message);
     conexion.Rollback;
    end;
  end;
end;
y aqui les dejo el codigo que tengo el los clientes
Código Delphi [-]
procedure Tfmovilizador.bvotoClick(Sender: TObject);
var
lisdeltas: tfdjsondeltas;
lisdata: TFDJSONDataSets;
begin
  if tcontacto.State in dseditmodes then tcontacto.Post;
  lisdeltas:= tfdjsondeltas.Create;
  tfdjsondeltaswriter.ListAdd(lisdeltas, tcontacto);
  clientmodule2.ServerMethods1Client.act_contacto(lisdeltas);
  tcontacto.Close;
//  Refresco tcontacto
  lisdata:= ClientModule2.ServerMethods1Client.getcontacto1
    (quotedstr(tmoviliza.FieldByName('mov_cedula').text));
  tcontacto.AppendData(TFDJSONDataSetsReader.GetListValue(lisdata,0));
  tcontacto.Open;
  tabcontrol1.ActiveTab:= Contacto;
end;

Es menester decirles que las consultas si funcionan bien en las 3 aplicaciones... Gracias de antemano
Responder Con Cita