Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Oracle
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-07-2004
jnbruguer jnbruguer is offline
Registrado
 
Registrado: jul 2004
Posts: 3
Poder: 0
jnbruguer Va por buen camino
Unhappy Imagenes en Oracle 7

Buenos dias a todos, os agradeceria que me echaseis una mano, porque no consigo solucionar el siguiente tema:

1. Tipo de campos en Oracle 7 para almacenar una imagen jpg.
2. Como la almaceno y recupero desde delphi.

Gracias todos.
Responder Con Cita
  #2  
Antiguo 26-07-2004
Coco Coco is offline
Miembro
 
Registrado: jul 2004
Ubicación: Argentina
Posts: 83
Poder: 20
Coco Va por buen camino
Lightbulb guardar y recuperar imagenes

Intenta con un campo blob de oracle.
Para guardarlo puedes probar con el tipo Stream de Delphi.


Aqui te envio la funcion que guarda la imagen, seria mas o menos asi

function guardarImagen( NombreImagen: String;
Data: TStream): Boolean;
var F: TFileStream;
begin
F := TFileStream.Create(nombreImagen, fmCreate);
try
F.CopyFrom(Data, 0 );
Result:= True;
except
Result:= false;
end;
F.Free;
end;

Para instanciarla es:

guardarimagen('nombre.jgp',Query.CreateBlobStream(Query.FieldByName('IMAGEN'), bmRead));

Espero que te sirva.
Saludos.
Responder Con Cita
  #3  
Antiguo 26-07-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
En oracle 7, me parece que el tipo adecuado es Long Raw.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #4  
Antiguo 06-07-2005
kavisch kavisch is offline
Miembro
 
Registrado: jun 2005
Posts: 32
Poder: 0
kavisch Va por buen camino
hola

tengo un problema similiar, yo guardo la imagen de la siguiente forma pero no se si esta bien..

tabla1.insert;
tabla1.FieldByName('Imagen').LoadFromFile('c:\ruta\imag.jpg',ftmemo);
tabla1.post;

esto me funciona, pero mi problema es cuando quiero mostrar esta imagen en un Timage.. no me da resultado....

var
bimp : TBitmap;
ms : TMemoryStream;
Begin

Image1.Visible := True;
bimp := TBitmapCreate;
ms := TMemoryStream.Create;
EmployFOTOGRAFIA.SaveToStream(ms);
bimp.LoadFromStream(ms);
Image1.Picture.Assign(bimp);
ms.Free;
bimp.Free;
end;



ayudame porfavor..
gracias,
Responder Con Cita
  #5  
Antiguo 06-07-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
si la imagen que grabas es un jpeg, por que queres recuperarlo como bmp??

Lo normal sería recuperarlo como jpeg, no te parece?

Código Delphi [-]
var
  bimp : TjpegImage;
  ms : TMemoryStream;
Begin
  Image1.Visible := True;
  bimp := TjpegImage.Create;
  ms := TMemoryStream.Create;
  try
    EmployFOTOGRAFIA.SaveToStream(ms);
    bimp.LoadFromStream(ms);
    Image1.Picture.Assign(bimp);
  finally
    ms.Free;
    bimp.Free;
  end;
end;

A tu código le he añadido una clausula try/except para garantizar que se libere siempre la memoria, y además lo he publicado con la etiqueta delphi que debieras usar para publicar trozos de código... ¿notas la diferencia?.

Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 07-07-2005
kavisch kavisch is offline
Miembro
 
Registrado: jun 2005
Posts: 32
Poder: 0
kavisch Va por buen camino
hola,

lo he hecho mo me dijiste, pero ahora el erro que me desplega es:
JPEG Error #42.....

quiero Preguntarte algo..
si yo guardo la imagen como bmp en mi DB, seria posible recuperarla y mostrarla en el TImage ?..

Gracias,
Responder Con Cita
  #7  
Antiguo 07-07-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Si es posible almacenarlas en bmp, y también es posible almacenarlas en jpeg.

Según un par de resultados de mi búsqueda, aparentemente el error #42 es por razones de memoria... te recomiendo investigar y probar también por ese lado.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:23:11.


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
Copyright 1996-2007 Club Delphi