Ver Mensaje Individual
  #1  
Antiguo 11-03-2021
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Reputación: 12
giulichajari Va por buen camino
Actualizar Base de Datos desde TClientDataSet conectado a TSQLQuery

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?
Responder Con Cita