Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-01-2011
ElDuc ElDuc is offline
Miembro
 
Registrado: jul 2004
Posts: 197
Poder: 20
ElDuc Va por buen camino
Guardar una imagen (TPicture) en un campo de DB

Hola a todos,

Estoy liado con un pequeño programa y necesito guardar/recuperar una imagen en un campo de una DB.

Por el momento he creado una Db Access (sólo para pruebas) en la que he creado una tabla que tiene 3 campos:
  1. Id - Autoincremantal - Id del registro
  2. Name - String - Nombre del registro (imagen)
  3. Image - Objeto OLE - Para guardar la imagen
El el programa he definido un objeto Q:=TAdoQuery que enlazo con la tabla comentada.

Código Delphi [-]
 
...
Q.Open;
Q.Insert;
Q.FieldValues['Name']:='Nombre_1';
*** Q.FieldValues['Image']:=MyImage; (Objeto TPicture en el que está la imagen)
Q.Post.
...

Al compilar, en la línea (***) me da el siguiente error:
Incompatible types: 'Variant' and 'TPicture'

Es evidente que no lo esoy haciendo bien.

Por favor, ¿podéis ayudarme?

Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 26-01-2011
Avatar de Aleca
Aleca Aleca is offline
Miembro
 
Registrado: may 2003
Ubicación: Venado Tuerto, Argentina
Posts: 277
Poder: 21
Aleca Va por buen camino
proba de esta forma.
Código Delphi [-]
Q.FieldValues['Image']:=MyImage.Picture.Graphic;
otra forma
Código Delphi [-]
      FieldByName('IMAGE').Assign(MyImage.Picture.Graphic);
__________________
Aleca
Responder Con Cita
  #3  
Antiguo 27-01-2011
ElDuc ElDuc is offline
Miembro
 
Registrado: jul 2004
Posts: 197
Poder: 20
ElDuc Va por buen camino
Hola Aleca, gracias por tu colaboración.

La segunda opción me funciona, pero no soy capaz de recuperar la imagen a un TPicture.

Cuando digo que me funciona es porque no me da ningún error y en la DB observo que se ha almacenado algo, pero tampoco se que información hay ya que, como te digo, no puedo visualizarla posteriormente.

Si puedes hechame una mano, gracias.
Responder Con Cita
  #4  
Antiguo 27-01-2011
Avatar de Aleca
Aleca Aleca is offline
Miembro
 
Registrado: may 2003
Ubicación: Venado Tuerto, Argentina
Posts: 277
Poder: 21
Aleca Va por buen camino
Cita:
Empezado por ElDuc Ver Mensaje
Hola Aleca, gracias por tu colaboración.

La segunda opción me funciona, pero no soy capaz de recuperar la imagen a un TPicture.

Cuando digo que me funciona es porque no me da ningún error y en la DB observo que se ha almacenado algo, pero tampoco se que información hay ya que, como te digo, no puedo visualizarla posteriormente.

Si puedes hechame una mano, gracias.
con access no he trabajado pero probá hacerlo de esta forma.
Código Delphi [-]
  Image1.Picture.Assign(Q.FieldByName('IMAGE'));
espero que te sirva.
__________________
Aleca
Responder Con Cita
  #5  
Antiguo 27-01-2011
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
No has dicho q componente estas usando

A mi (y a muchos) siempre me ha servido el componente TJvDBImage de la suite JVCL sin ningún problema..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #6  
Antiguo 27-01-2011
ElDuc ElDuc is offline
Miembro
 
Registrado: jul 2004
Posts: 197
Poder: 20
ElDuc Va por buen camino
Hola Aleca,

Con la opción que me das para cargar el field en el picture me da el error "bitma is not valid"

Hola Delfino,

Trabajo con ADO, nunca he trabajado con la librería que me comentas.

---

De todas formas he conseguido hacerlo pasando el field a un TJpegImage y éste a el picture, pero eso me da el problema que sólo puedo trabajar con imágenes de tipo jpg y no es lo que necesito, pero creo que vamos por buen camino.

Sabéis si puedo saber el timo de imagen que hay en un picture (jpg, gif, png, bmp, etc)

Muchas gracias a ambos por vuestra ayuda.
Responder Con Cita
  #7  
Antiguo 01-02-2011
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Cita:
Empezado por ElDuc Ver Mensaje
Trabajo con ADO, nunca he trabajado con la librería que me comentas.
Pues ya es hora
__________________
¿Microsoft? No, gracias..
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Guardar Imagen de un TImage num11 Varios 3 19-03-2009 05:52:55
Guardar una Imagen a PDF atrus Gráficos 8 12-08-2008 10:36:03
Guardar imagen franfl Firebird e Interbase 1 29-02-2008 09:02:54
Guardar una imagen en un DB lore Conexión con bases de datos 5 20-03-2007 17:07:48
Guardar imágen en una carpeta FTP... gatsu PHP 5 21-09-2004 18:34:40


La franja horaria es GMT +2. Ahora son las 19:50:51.


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