Hola Sres:
Es Gusto Saludarlos nuevamente:
eh estado experimentando un poco con DataSnap y aun con DBExpress.
eh tenido un poco de experiencia haciendo una actualización modificando un registro desde el ClientDataSet simplemente haciendo esto:
Código Delphi
[-]
procedure TfrmActualizaCantidadInv.btnModificarClick(Sender: TObject);
begin
dmConexion.cdsModArtCantidad.Params.ParamByName('pIDART').AsInteger :=
dmConexion.cdsTempModArtCantidadID_ARTICULO.AsInteger;
dmConexion.cdsModArtCantidad.Active := True;
dmConexion.cdsModArtCantidad.Edit;
end;
El punto es que ahora al intentarlo hacer con un ClientDataSet temporal con un conjunto de datos escogido de una tabla por el usuario solamente actualizar el campo determinado y no lo hace a la finales al terminar el recorrido on ClientDataSet.EoF quiere hacer un insert.
ejemplo:
Código Delphi
[-]
try
dmConexion.cdsTempModArtCantidad.First;
while not dmConexion.cdsTempModArtCantidad.Eof do
begin
dmConexion.cdsModArtCantidad.Params.ParamByName('pIDART').AsInteger :=
dmConexion.cdsTempModArtCantidadID_ARTICULO.AsInteger;
dmConexion.cdsModArtCantidad.Active := True;
dmConexion.cdsModArtCantidad.Edit;
dmConexion.cdsModArtCantidadSTOCK.AsFloat :=
dmConexion.cdsTempModArtCantidadSTOCK.AsFloat; dmConexion.cdsModArtCantidad.Post; dmConexion.cdsTempModArtCantidad.Next;
end;
Except
if VariablesRisto.messageerror <> '' then
ShowMessage(VariablesRisto.messageerror);
dmConexion.cdsModArtCantidad.Cancel;
end;
Bueno a la finales el resultado es ya mencionado.
a la finales talvez aya una mejor manera de actualizar conjunto de datos con clientDataSet sin embargo es como se me ocurre por mi experiencia.
Agradeciendo cualquier colaboración;
Saludos
novato_erick