Mistrar imagenes de una DB de Acces en un picturebox

15/09/2008 - 03:10 por vlacktemoc | Informe spam
Recientemente me he pasado al Lenguaje C# e intente hacer muchas cosas de las
cuales no he comprendido por que no puedo cargar una imagen almacenada en una
Base de Datos de Acces 2007 a un picture box. Lo que hice primero fue la base
de datos sobre plantas dentro de la cual inserte imagenes para cada planta,
son tres imagenes (tallo, hoja y flor y fruto) como tipo datos adjuntos. y a
la hora de hacer mis formularios, e indicarle al picturebox en su propiedad
Databindings la columna correspondiente del dataset donde alojaba la imagen.
Corri el programa y la sorpresa que me lleve es que no cargo la imagen.
Soy nuevo en esto y estaria muy agradecido si udieran ayudarme o pudieran
darme referencia sobre como hacerlo. Gracias
 

Leer las respuestas

#1 SoftJaén
21/09/2008 - 19:24 | Informe spam
"vlacktemoc" preguntó:

por que no puedo cargar una imagen almacenada en una
Base de Datos de Acces 2007 a un picture box. Lo que hice primero fue
la base de datos sobre plantas dentro de la cual inserte imagenes para
cada planta, son tres imagenes (tallo, hoja y flor y fruto) como tipo
datos adjuntos.



Hola:

Quizás no puedas ver la imagen porque la insertastes a la base de Access
como un objeto, en lugar de insertarla como una secuencia de bytes. Si es
así como la has insertado, solamente vas a poder ver las imágenes abriendo
la base de datos con el propio Microsoft Access 2007.

Como te he comentado, en la tabla de la base de datos, tienes que guardar
las imágenes en un campo del tipo «Objeto OLE» como una secuencia de bytes.
En el ejemplo que aparece en el siguiente enlace lo explico:

Cómo guardar archivos en una base de datos
http://mvp-access.es/softjaen/bases...onet13.htm

Una vez que hayas guardado las imágenes como una secuencia de bytes, puedes
visualizarlas en un control PictureBox de la manera que lo explico en éste
otro enlace:

Cómo leer los archivos contenidos en una base de datos
http://mvp-access.es/softjaen/bases...onet14.htm

Para poder ver las imágenes en un control PictureBox, simplemente tienes que
ejecutar el siguiente código:

// Mostramos la imagen en el control PictureBox
//
this.pictureBox1.Image Image.FromFile("C:\\Mis documentos\\Imagen1.jpg");

Es decir, con la secuencia de bytes que recuperes de la base de datos,
tienes que crear un archivo en disco, cuya ruta tendrás que pasársela al
método «FromFile» de la clase «Image».

Como podrás observar, los ejemplos están escritos en Visual Basic .net, por
lo que tendrás que traducirlos a C#. Por supuesto, tendrás que modificar la
cadena de conexión para que puedas conectarte con la base de datos de Access
2007, así como utilizar los objetos adecuados del proveedor de datos .net
para OleDb, ya que los ejemplos los escribí para guardar y leer documentos
en una base de SQL Server. Pero, ¡vamos! Que se adaptan perfectamente a una
base de Access 2000 o superior.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares