Ver Mensaje Individual
  #20  
Antiguo 11-01-2023
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Veo alguna cosa rara.
  • Quizás el error no es que no guarde la imagen comprimida sinó que "no guarde".
  • El Query está cerrado y estás modificando el valor de un campo.
  • Hay parámetros que no estás rellenando, por lo que puede ser que tengan valor nulo y por lo tanto no modifiquen ningún registro.

Código Delphi [-]
[...]
   UniQueryIMG.Close;
   UniQueryIMG.SQL.Clear;
   UniQueryIMG.SQL.Add('UPDATE IMG SET FOTO = :FOTO, OTRO1 = :OTRO1, MODULO = :MODULO where OTRO1  = ''I'' and MODULO = ''VISITANTES''');
   UniQueryIMG.ParamByName('OTRO1').AsString := '';

   { Aquí estás rellenando campos y no los parámetros del query.
     Por lógica se necesita rellenar los parámetros.
     Puede ser que el componente los rellene con el valor del campo, pero al estar cerrado el query no le veo la lógica.
     Incluso con algunos componentes te debería estar dando un error de "Dataset not in Edit or Insert mode" o algo parecido.
     Además lo estás haciendo dos veces y de forma diferente.
   UniQueryIMGFOTO.LoadFromFile('Ouput.jpg');
   uniQueryIMGFOTO.LoadFromStream(MS1);
   }
   UniQueryIMG.ParamByName('FOTO').LoadFromStream(MS1);
   {
   Quizás también deberías rellenar los parámetros :MODULO
   }
   UniQueryIMG.ParamByName('MODULO').As??? := ???;

   UniQueryIMG.ExecSQL;
[...]
   UniQueryIMG.Close;
   UniQueryIMG.SQL.Clear;
   UniQueryIMG.SQL.Add('UPDATE IMG SET FOTO = :FOTO, OTRO1 = :OTRO1 where OTRO1  = ''I'' and MODULO = ''VISITAS''');
   UniQueryIMG.ParamByName('OTRO1').AsString := '';

   { Aquí estás rellenando campos y no los parámetros del query
     Mismos comentarios que para el caso anterior
   uniQueryIMGFOTO.LoadFromStream(MS1);
   }
   UniQueryIMG.ParamByName('FOTO').LoadFromStream(MS1);

   UniQueryIMG.ExecSQL;
Responder Con Cita