Hola,
A ver, ya he conseguido almacenar imágenes BMP en una base de datos Oracle y luego mostrarlas en un TImage.
Lo primero, el campo de la tabla de la base de datos
no debe ser LONG sino que debe ser
LONG RAW
Bien, el código para incorporar la imagen sería algo así e iria colocado en el click de un botón que he puesto para añadir la imagen:
Código Delphi
[-]
if (OpenDialog1.Execute) then begin
if (Table1.State <> dsBrowse) then
Table1.Insert;
Table1FOTO.LoadFromFile (OpenDialog1.FileName);
Table1.Post;
end;
OpenDialog1 es un control dialogo de apertura de ficheros.
Table1 es un TTable conectado a la tabla.
Table1FOTO es el campo persistente asociado al campo de tipo
LONG RAW
Y luego, para mostrarla en el evento OnAfterScroll del TTable (Table1) he puesto este codigo:
Código Delphi
[-]
var
B : TBitmap;
begin
B := TBitmap.Create;
B.Assign (Table1FOTO);
Image1.Picture.Assign(B);
B.Free;
end;
Image1 ya sabes lo que es ¿no?.
Esta última parte es posible que funcione simplemente así (ojo, esto no lo he probado):
Código Delphi
[-]
begin
Image1.Picture.Assign(Table1FOTO);
end;
Este codigo combinado con unos buenos try/except y algun control mas por si hubiese error... (paporsiacaso como dicen en mi pueblo) debería funcionarte correctamente.
Espero que te sirva.
Un saludo.