Ver Mensaje Individual
  #1  
Antiguo 16-02-2009
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Reputación: 18
mjjj Va por buen camino
Base Dato + Imagen

Se que esta pregunta la han hecho y respondido muchas veces, pero con todo la información que he encontrado no he podido solucionar mi problema.

Necesito guardar y mostrar imagenes en una base de dato, utilizo Firebird 2.1 y Delphi 2006.

Expongo los codigos que utilizo para guardar y mostrar la imagen.

Guardar
Código Delphi [-]
var
  MS : TMemoryStream;
begin
  MS := TMemoryStream.Create;
if (OpenDialog1.Execute) then
begin
  MS.LoadFromFile(OpenDialog1.FileName);
  with ibsql1 do
  begin
    ibtransaction1.active:=true;
    SQL.Clear;
    SQL.Add('update empresa set foto=:foto');
    sql.add('where nombre ='+quotedstr(label1.caption));
    ParamByName('Foto').LoadFromStream(ms);
    execquery;
    ibtransaction1.commit;
    MS.Free;
  end;
  end;

Mostrar
Código Delphi [-]
var
MemoryStream : TMemoryStream ;
ImageBuffer : tbitmap   ;
begin
ibquery3.Close;
ibquery3.sql.clear;
ibquery3.sql.add('select * from empresa where nombre ='+quotedstr(label1.caption));
ibquery3.open;
MemoryStream := TMemoryStream.Create;
TBlobField(ibquery3.FieldByName('foto')).SaveToStream(MemoryStream);
ImageBuffer := TJpegImage.Create;
ImageBuffer.LoadFromStream(MemoryStream);
image1.Picture.Assign(ImageBuffer);
ImageBuffer.free;
ImageBuffer.Free;
end;

Me arroja un error #42, ni idea de lo que puede estar ocurriendo.

Espero me puedan ayudar.... gracias
Responder Con Cita