Ver Mensaje Individual
  #9  
Antiguo 04-03-2021
NeWsP NeWsP is offline
Miembro
 
Registrado: oct 2003
Ubicación: Barcelona
Posts: 57
Reputación: 21
NeWsP Va por buen camino
Gracias por contestar,

Ahora ya me has matado...

En principio por lo que entiendo (que no es mucho) al insertar un plazo nuevo en la base de datos, en vez de hacer el empty, tengo que recorrer el query otra vez pero sin hacer

Código Delphi [-]
 with TMSForm1.MemPedidos do
      begin
        Append;
        Fields[0].AsInteger := estado;
        Fields[1].AsDateTime := TMSForm1.FDQuery1.FieldByName('FECPCL').Value;
        Fields[2].AsInteger := TMSForm1.FDQuery1.FieldByName('CODPCL').Value;
        Fields[3].AsString := TMSForm1.FDQuery1.FieldByName('CNOPCL').Value;
        Fields[4].AsString := plazo;
        Post;
      end;

y en lugar de eso, ir comparando uno a uno recorriendo la memtable, y en el caso que el valor sea distinto actualizarlo con un

Código Delphi [-]
 with TMSForm1.MemPedidos do
      begin
        Edit;
        Fields[0].AsInteger := estado;
        Fields[1].AsDateTime := TMSForm1.FDQuery1.FieldByName('FECPCL').Value;
        Fields[2].AsInteger := TMSForm1.FDQuery1.FieldByName('CODPCL').Value;
        Fields[3].AsString := TMSForm1.FDQuery1.FieldByName('CNOPCL').Value;
        Fields[4].AsString := plazo;
        Post;
      end;

Es la primera vez que uso memtables, he mirado algo de información pero ando bastante perdido, por eso preguntaba como era el proceso.

Gracias otra vez

Edit: Aunque pensando fríamente, cuando introduzco un plazo, realmente ya se que fila de la tabla voy a modificar, podría hacer el edit directamente sobre esa fila, sin tener que hacer el query de recorrer, y unicamente hacer el query de actualizar la base de datos y asi me ahorro toda la comparación (que en otros sitios si que tendria que hacer... T_T)

Voy bien por ahi?

Última edición por NeWsP fecha: 04-03-2021 a las 16:57:17.
Responder Con Cita