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?