Hola yo de vuelta.
Tengo un TclientDataSet que, mediante un Provider esta conectado a un TSQLQuery(es decir no un TSQLTable).
El mismo lo utilizo a traves de un DataSource obviamente para mostrar el detalle de un pedido. entonces hice lo siguiente:
Código Delphi
[-]procedure TPEDIDO.gpedidotempColExit(Sender: TObject);
begin
DataModule1.cdsdetpedido.Edit;
if (gpedidotemp.Fields[gpedidotemp.SelectedIndex]=
gpedidotemp.DataSource.DataSet.FieldByName('Acuenta')) then
begin
DataModule1.quact.Close;
DataModule1.quact.ParamByName('acta').AsFloat := gpedidotemp.SelectedField.AsFloat ;
DataModule1.quact.ParamByName('idp').AsInteger:=
gpedidotemp.DataSource.DataSet.FieldByName('idproducto').AsInteger;
DataModule1.quact.ExecSQL();
end;
end;
Al salir de una columna intento guardar el dinero a cuenta por ejemplo.
Tambien intente
Código Delphi
[-]procedure TDataModule1.cdsdetpedidoAcuentaChange(Sender: TField);
begin
DataModule1.cdsdetpedido.Edit;
DataModule1.cdsdetpedido.Post;
DataModule1.cdsdetpedido.ApplyUpdates(0);
end;
Pero no se vuelcan los cambios en la bd. Probe usar TDBNavigator y le doy click en editar escribo y luego click en el tilde pero los cambios no se guardan.
Puede ser que al provenir los datos de un TSQLQuery no realize los cambios? Si es asi que debo hacer un query para cada operacion?