Ver Mensaje Individual
  #7  
Antiguo 15-08-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Camilo.
Cita:
Empezado por Camilo Ver Mensaje
Hola Ecfisa.
El código lo implemento y no pasa nada. es decir no bota error pero no actualiza nada tampoco. por otro lado tengo la duda de ese "IBQueryTmp". de que se trata?
El código incrementa o decrementa las columnas cantidad y precio en base al valor enviado en sus respectivos parametros: Cant y Prec y puedo asegurarte que lo hace (a menos que realizes un Rollback o RollbackRetaining).
También podría suceder que esté realizando la modificación y no la veas reflejada por que no actualizaste el TDataSet asociado al TDBGrid...


"IBQueryTmp", es otro TIBQuery qualquiera, de uso general, pero también podría haberlo escrito de este modo:
Código Delphi [-]
procedure UpdateInventory(const Cod: string; const Cant: Integer; const Prec: Currency);
var
  qy: TIBQuery;
begin
  qy := TIBQuery.Create(nil);
  try
    qy.Database    := Tu_DataModule.Tu_IBDatabase;
    qy.Transaction := Tu_DataModule.Tu_IBTransaction;
    qy.Close;
    qy.SQL.Clear;
    qy.SQL.Add('UPDATE INVENTARIO');
    qy.SQL.Add('SET CANTIDAD = CANTIDAD + COALESCE(:CANTIDAD, 0),');
    qy.SQL.Add('PRECIO = PRECIO + COALESCE(:PRECIO, 0)');
    qy.SQL.Add('WHERE CODIGO_PRODUCTO = :CODIGO');
    qy.ParamByName('CODIGO').AsString    := Cod;
    qy.ParamByName('CANTIDAD').AsInteger := Cant;
    qy.ParamByName('PRECIO').AsCurrency  := Prec;
    qy.ExecSQL;
  finally
    qy.Free;
  end;
end;
Si no deseas complicarte, una buena alternativa es el uso del TIBDataSet, un componente que conjuga las virtudes de una tabla y una consulta, te recomiendo que revises estos enlaces que tratan sobre él:
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita