Guardar una imagen en una tabla

2,051 views
Skip to first unread message

Julián May

unread,
Oct 14, 2010, 11:09:10 PM10/14/10
to Comunidad de Visual Foxpro en Español
Hola podrian ayudarme a saber como guardar una imagen en una tabla ?
saludos. gracias

Diego Rojas Ccoica

unread,
Oct 14, 2010, 11:23:52 PM10/14/10
to publice...@googlegroups.com
Julian, yo particularmente no te recomendaria guardar imagenes en una tabla se te haria muy pesado para tus consultas,
para estos caso grabo las imagenes en una carpeta y en la tabla solo almaceno la ruta para luego llamarlas o mostrarla en 
un formulario.

Diego 

marcelobuenosaires

unread,
Oct 14, 2010, 11:40:17 PM10/14/10
to publice...@googlegroups.com
Hola

Si, asi es
Eso es lo mas indicado

Saludos
MarceloBuenosAires
____________

Fredy Villa

unread,
Oct 15, 2010, 1:14:31 AM10/15/10
to publice...@googlegroups.com
Este tema es muy
solicitado. Muchas veces necesitamos almacenar una grafica en una tabla de
VFP, este es un ejemplo




cArchivo = GetFile()



Select Tabla

Append Blank

Append General Tabla.Campogral From (cArchivo)


 
> Date: Thu, 14 Oct 2010 20:09:10 -0700
> Subject: [vfp] Guardar una imagen en una tabla
> From: wack...@hotmail.com
> To: publice...@googlegroups.com

Walter R. Ojeda Valiente

unread,
Oct 15, 2010, 1:33:33 AM10/15/10
to publice...@googlegroups.com
Hola Julián

La respuesta que te dió Fredy es la correcta. Pero no se aconseja hacer eso porque el procesamiento de esa tabla se vuelve demasiado lento si tiene muchos registros.

Por ejemplo, si una empresa tiene 400 empleados y vas a guardar la foto de cada uno de esos 400 empleados en tu tabla EMPLEADOS, cuando quieras recorrer esa tabla notarás que es muy lento.

Lo mejor en esos casos es guardar en tu tabla la ruta a la foto de cada empleado.

Pero si tu tabla va a tener pocas imágenes gráficas (por ejemplo, si quieres guardar solamente el logo de la empresa en la tabla EMPRESA, la cual tiene un solo registro), entonces sí es aceptable hacerlo.

Saludos.

Walter.

Luis Maria Guayan

unread,
Oct 15, 2010, 7:43:22 AM10/15/10
to publice...@googlegroups.com
Otra opción es guardarla en un campo Blob (a partir de VFP9)

-- El nuevo tipo de datos BLOB en VFP 9.0 --
http://www.portalfox.com/article.php?sid=1275


Pero como indican los compañeros, primero debes verificar que sea realmente necesario y que no afecte la performance de tu aplicación. Lo mejor en estos casos es guardar solo la ruta y nombre del archivo de imagen.
 

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

 

Yvan GMAIL

unread,
Oct 15, 2010, 9:28:47 AM10/15/10
to publice...@googlegroups.com

Consulta:

Que pasaría si en la tabla de empleados solo guardo la info  y en otra tabla guardo la imagen.. (ID + FOTO).. de esta manera solo uso la segunda tabla cuando necesite la imagen.

¿Qué opinan de ese modo de trabajo?

marcelobu...@gmail.com

unread,
Oct 15, 2010, 10:09:31 AM10/15/10
to publice...@googlegroups.com
Hola

Esa forma, esta bien siempre y cuando
la foto solo la traigas "a pedido"

O sea, ves los datos y decis...
"quiero ver la foto de este"
y entonces la traes

Saludos
_____________

Juan Bonilla

unread,
Oct 15, 2010, 10:54:42 AM10/15/10
to Comunidad de Visual Foxpro en Español
te comento mi experiencia..
diseñe una aplicacion para el control de notas en una institucion
educativa, use mssql + vfp, decidi almacenar la foto de los
estudiantes dentro de la BD, resultado:
1. la Base de datos crecio exponencialmente mas de 2 GB, casi todo
fotos.
2. si habia q realizar un mantenimiento o una modificacion a la
estructura de de la tabla que almacenaba las generales + foto, se
tildeaba el mssql o demoraba mas de 40 min tratando de hacer el
cambio.
3. En algunas ocaciones no almacenaba bien, como consecuencia de q
constantemente la BD tenia q asignar espacio para crecer. Esto cuando
se ingresaban las fotos consecutivamente.

La verdad no vi lento el sistema pero si me preocupo el tamaño y q
esto rompiera en un momento determinado mi BD.

Lo de las rutas de la imagen, no me gusta, por q, si se desconecta la
unidad de red asociada, en donde estan mis imagenes, ya sea por error
de red o de el usuario final, me van a llamar diciendo q es error del
programa.

Opte por crear dentro del servidor (mssql) otra base de datos solo
para almacenar las imagenes, y dentro de mi BD principal, una vista
enlazando mi tabla generales + mi tabla de fotos.
Las imagenes no se solicitan en bloques, solo la q se requiera.
Hasta ahora no he tenido problemas.

Carlos Miguel FARIAS

unread,
Oct 15, 2010, 11:34:26 AM10/15/10
to publice...@googlegroups.com
Las fotos en las tablas nativas, se almacenan como campo memo, si de por si un campo memo tiende a romperse, ni te cuento con imagenes.
Ademas, el backup se pone muy pesado.
Consejo: No pongas todos los huevos en una canasta.
Ventajas de tener las imagenes aparte, se pueden actualizar las imagenes, sin que impacte en la bd.
Otra, si haces una consulta a la tabla que contienen las imagenes dentro de la misma tabla, la red se va al c.... porque tiene que transmitir todas las imagenes que solicitaste con la grilla.
En cambio, si usas un memo con el ruta/nombre imagen, la cosa es mas rapida/sencilla y menos probabilidad de caida.
Bah, lo mismo que dijeron los otros.

GeoSys Diseño de Software

unread,
Oct 15, 2010, 12:40:26 PM10/15/10
to publice...@googlegroups.com
Mira este enlace de portalfox

http://www.portalfox.com/index.php?name=Downloads&req=viewdownloaddetails&lid=204

Saludos.

José Anthony Contreras P.

Costa Rica.

Julián May

unread,
Oct 15, 2010, 12:40:58 PM10/15/10
to Comunidad de Visual Foxpro en Español
Hola, gracias por la ayuda veo que lo recomendable es guardar en una
carpeta las imagenes (imgs) y en la tabla solo la ruta y el nombre de
la imagen y apartir de ello mando a llamar la imagen
la verdad manejare varias imagenes.
y Una duda las imagenes pueden varias de tamañano ?? o tiene que ser
un tamaño especifico ya que las mandare llamar en un control para
imagenes. Le puse estirar en la propiedad del control de imagenes.


On 15 oct, 10:34, Carlos Miguel FARIAS <carlosmiguelfar...@gmail.com>
wrote:
> Las fotos en las tablas nativas, se almacenan como campo memo, si de por si
> un campo memo tiende a romperse, ni te cuento con imagenes.
> Ademas, el backup se pone muy pesado.
> Consejo: No pongas todos los huevos en una canasta.
> Ventajas de tener las imagenes aparte, se pueden actualizar las imagenes,
> sin que impacte en la bd.
> Otra, si haces una consulta a la tabla que contienen las imagenes dentro de
> la misma tabla, la red se va al c.... porque tiene que transmitir todas las
> imagenes que solicitaste con la grilla.
> En cambio, si usas un memo con el ruta/nombre imagen, la cosa es mas
> rapida/sencilla y menos probabilidad de caida.
> Bah, lo mismo que dijeron los otros.
>
> > > Walter.- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

Julian May

unread,
Oct 15, 2010, 12:43:08 PM10/15/10
to publice...@googlegroups.com
Gracias :) José
 

Date: Fri, 15 Oct 2010 10:40:26 -0600
Subject: Re: [vfp] Re: Guardar una imagen en una tabla
From: geos...@gmail.com
To: publice...@googlegroups.com

Walter R. Ojeda Valiente

unread,
Oct 15, 2010, 1:31:19 PM10/15/10
to publice...@googlegroups.com
Las imágenes pueden ser de cualquier tamaño, no tienen límite.

También podrías guardar música o vídeos en un campo general de una tabla, si quieres. Aunque ya sabes que eso no es aconsejable hacerlo.

Saludos.

Walter.

Julian May

unread,
Oct 15, 2010, 4:10:24 PM10/15/10
to publice...@googlegroups.com
Gracias walter.
 

From: wr...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Re: Guardar una imagen en una tabla
Date: Fri, 15 Oct 2010 17:31:19 +0000
Reply all
Reply to author
Forward
0 new messages