Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Guardar imagen en campo Blob (tabla en access) (https://www.clubdelphi.com/foros/showthread.php?t=88524)

DANIEL1818 17-06-2015 02:29:43

Guardar imagen en campo Blob (tabla en access)
 
Hola! tengo el siguiente problema, tengo que dar el alta de un producto el cual tiene Titulo, descripcion_producto y foto. El unico problema que tengo es el de subir la foto al campo 'foto'. En dicho formulario de alta de producto tengo los edits para el titulo y la descripcion_producto y un DBImage para subir la foto (con un openPictureDialog), lo que necesito es GUARDAR LA FOTO EN LA BASE DE DATOS, NO LA RUTA DE ACCESO A LA FOTO. Los tabla en access se actualizaria al hacer click en un boton de mi formulario llamado "Publicar".

Me podrian dar una mano? ya que estoy intentando hace varios dias ya y no logro encontrar la solucion. Busque info en google y en el foro pero no di con alguna solucion parecida.

Espero sus respuestas! MUCHISIMAS GRACIAS!!

ecfisa 17-06-2015 05:12:59

Hola Daniel.

Código Delphi [-]
procedure BitmapToBlobField(Image: TImage; Field: TField);
var
  Stream: TStream;
begin
  Stream := TMemoryStream.Create;
  try
    Image.Picture.Bitmap.SaveToStream(Stream);
    Stream.Seek(0, soFromBeginning);
    TBlobField(Field).LoadFromStream(Stream);
  finally
    Stream.Free;
  end;
end;

Ejemplo de uso:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenPictureDialog1.Execute then
  begin
    Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
    with tu_DataSet do
    begin
      Edit;
      BitmapToBlobField(Image1, FieldByName('IMAGEN'));
      //...
      Post;
    end;
  end;
end;

Saludos :)


La franja horaria es GMT +2. Ahora son las 11:14:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi