Problemas con PictureBox y SQL Server

22/05/2007 - 11:23 por Fernando Alonso | Informe spam
Hola a tod@s:

¿Como se guardan y recuperan imagenes en una base de datos SQl Server?. Lo
he intentado asinganado a un PictureBox el campo del TablaAdapter subyacente.
Funciona correctamente para visualizar imagenes preexistentes, pero no
consigo que guarde las nuevas, para cargar las nuevas utilizo el siguinete
código :
Image Imagen;

Imagen = Image.FromFile(OpF1.FileName);
pictureBox1.ImageLocation = OpF1.FileName;
pictureBox1.Load();
Este código visualiza la imagen en el pictureBox, pero no la guarda en la
BD, a pesar del DataBindings enlazado al campo

Alguna ayuda?

Gracias de antemano y un saludo

Fernando Alonso

Preguntas similare

Leer las respuestas

#1 Fernando Alonso
22/05/2007 - 12:03 | Informe spam
Al final he conseguido guardar las imagenes en la BD, pero de forma
aleatoria, es decir, unas veces las guarda y otras no. ¿Dónde estará mi
querido Delphi?. Evdientemente, tan extraño comportamiento se produce sin
ningún tipo de error, y con la misma imagen, unas veces la carga, otras no,
unas veces la guarda en la BD y otras no. Para lograr que me las guardara, me
he creado un strean, un componente image, y actualizo directamente el
BindingSource, es la única forma que he visto para poder guardar la imagen
aunque como digo, de forma aleatoria. Incluyo el código de la función, por si
algún gúru descubre el fallo:


private void toolStripButton7_Click(object sender, EventArgs e)
{
if (OpF1.ShowDialog() == DialogResult.OK)
{
MemoryStream ms = new MemoryStream();

Image Imagen;

Imagen = Image.FromFile(OpF1.FileName);
imagenPictureBox.ImageLocation = OpF1.FileName;
imagenPictureBox.Load();

switch (OpF1.FilterIndex)
{
case 1:
Imagen.Save(ms, ImageFormat.Bmp);
break;
case 2:
Imagen.Save(ms, ImageFormat.Jpeg);
break;
case 3:
Imagen.Save(ms, ImageFormat.Gif);
break;
case 4: //Hay que averiguar la extension
Imagen.Save(ms, ImageFormat.Gif);
break;
default:
MessageBox.Show("Formato de imagen inválido o
no conocido");
break;
}
DataRowView DRI;
DRI = (DataRowView)imagenesBindingSource.Current;

DRI["imagen"] = ms.GetBuffer();
this.Validate();
this.imagenesBindingSource.EndEdit();

this.imagenesTableAdapter.Update(this.iNMOBLIARIADataSet.Imagenes);
Imagen.Dispose();
ms.Dispose();
}


}

Alguna ayuda?

Gracias de antemano y un saludo

Fernando Alonso
Respuesta Responder a este mensaje
#2 RFOG
22/05/2007 - 12:09 | Informe spam
Un palo de ciego... ¿Por qué en lugar de un Image no lo haces con un
Bitmap?

En Tue, 22 May 2007 12:03:03 +0200, Fernando Alonso
escribió:

Al final he conseguido guardar las imagenes en la BD, pero de forma
aleatoria, es decir, unas veces las guarda y otras no. ¿Dónde estará mi
querido Delphi?. Evdientemente, tan extraño comportamiento se produce sin
ningún tipo de error, y con la misma imagen, unas veces la carga, otras
no,
unas veces la guarda en la BD y otras no. Para lograr que me las
guardara, me
he creado un strean, un componente image, y actualizo directamente el
BindingSource, es la única forma que he visto para poder guardar la
imagen
aunque como digo, de forma aleatoria. Incluyo el código de la función,
por si
algún gúru descubre el fallo:


private void toolStripButton7_Click(object sender, EventArgs e)
{
if (OpF1.ShowDialog() == DialogResult.OK)
{
MemoryStream ms = new MemoryStream();

Image Imagen;

Imagen = Image.FromFile(OpF1.FileName);
imagenPictureBox.ImageLocation = OpF1.FileName;
imagenPictureBox.Load();

switch (OpF1.FilterIndex)
{
case 1:
Imagen.Save(ms, ImageFormat.Bmp);
break;
case 2:
Imagen.Save(ms, ImageFormat.Jpeg);
break;
case 3:
Imagen.Save(ms, ImageFormat.Gif);
break;
case 4: //Hay que averiguar la extension
Imagen.Save(ms, ImageFormat.Gif);
break;
default:
MessageBox.Show("Formato de imagen
inválido o
no conocido");
break;
}
DataRowView DRI;
DRI = (DataRowView)imagenesBindingSource.Current;
DRI["imagen"] = ms.GetBuffer();
this.Validate();
this.imagenesBindingSource.EndEdit();
this.imagenesTableAdapter.Update(this.iNMOBLIARIADataSet.Imagenes);
Imagen.Dispose();
ms.Dispose();
}

}

Alguna ayuda?
Gracias de antemano y un saludo
Fernando Alonso






Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
El que dé rosas de comer al burro, cobrará con un rebuzno.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida