Delphi - Grabar imagenes en un campo blob

 
Vista:

Grabar imagenes en un campo blob

Publicado por suarito (11 intervenciones) el 30/11/2003 16:39:13
Hola Samigos:
Pregunta 1: Como se hace para grabar una imagen jpg en un campo blob. Los libros que tengo no me ayudan mucho y la ayuda de delphi tampoco. Lo unico que se es que se tiene que trabajar con Tstream o TFilestream.
Pregunta 2: Como hago para corroborrar que se ha guardado la imagen en el campo?? Yo utilizo en el menu de delphi la opcion Database/Explore donde puedo visualizar la BD que utilizo. Puedo verla ahi???
Por favor contesten si saben algo. Preferentemente la primera pregunta??? Desde ya, muchas gracias
suarito
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Grabar imagenes en un campo blob

Publicado por Delfino (1216 intervenciones) el 30/11/2003 23:22:31
Para grabarla en campo hace falta solo q llames al metodo LoadFromfile del campo blob:
Blob.LoadFromfile(...);
otra cosa es visualizarla pq el DBImage no sirve, en este caso tienes q usar un TMemoryStream y visualizarla en un componente TImage, lo puedes hacer o bien en el evento OnDatachange del datasource o el AfterScroll de la tabla de la siguiente manera:

var ms TMemoryStream; jp : TJpegImage
begin
ms := TMemoryStream.Create;
try
blob.SaveToStream(ms);
ms.Seek(0, soFromBeginning);
if ExtractFileExt(UpperCase(nomb.AsString)) = '.bmp' then
img.Picture.Bitmap.LoadFromStream(ms)
else if ExtractFileExt(UpperCase(nomb.AsString)) = '.jpg' then
begin
jp := TJpegImage.Create;
jp.LoadFromStream(ms);
img.Picture.Assign(jp);
FreeAndNil(jp);
end;
else img.picture := nil;
finally
FreAndNil(ms);
end;
end;

el nomb es un campo string oculto q guarda el nombre del archivo cuando se guarda en el campo blob:

if dialog1.Execute then
begin
blob.LoadFromfile(dialog1.filename);
nomb.asstring := dialog1.filename;
end,

pero se puede hacer de otras maneras claro

hay varios componentes por internet q ahorran todo esto, por ejemplo uno llamado imDBImage, y muchos otros en la BDN..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Grabar imagenes en un campo blob

Publicado por Francisco (140 intervenciones) el 01/12/2003 16:32:48
Hay un artículo en el boletín pascal nº11 que escriba claramente como hacer esta. Esta es la dirección:

http://www.latiumsoftware.com/es/pascal/0011.php#2

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar