Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: leacim en Octubre 11, 2018, 11:48:23 PM

Título: [SOLUCIONADO] Problemas al guardar imágenes a la base de datos
Publicado por: leacim en Octubre 11, 2018, 11:48:23 PM
Hola buenas noches
tengo problemas al guardar imagenes a mi base de datos, en lo cual no entiendo muy bien mi problema, lo que tengo aqui es una prueba en el cual quiero guardar NOMBRE, APELLIDO y FOTO....
en la base de datos lo que es FOTO esta como objeto OLE

(https://i.imgur.com/YPzC68M.png)
Título: Re:Problemas al guardar imágenes a la base de datos
Publicado por: Solid Water en Octubre 12, 2018, 09:44:40 AM
Si vas a la definición de FotoTableAdapter.insert cómo es la definición (o las definiciones)?

Lo digo para que veamos que parámetros está pidiendo la función.
Al parecer no esta esperando un tipo image como tercer parámetro.
Puede ser que el tipo image lo tengas que convertir a array de bytes o algo similar.

Edit me parece que debes convertirlo a byte de arrays, esto que hago en C# deberías hacerlo en VB.net

Código (csharp) [Seleccionar]

byte[] byteArray = imageToByteArray(image);

  public byte[] imageToByteArray(System.Drawing.Image imageIn)
        {
            MemoryStream ms = new MemoryStream();
            imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
            return ms.ToArray();
        }


Saludos,
Título: Re:Problemas al guardar imágenes a la base de datos
Publicado por: leacim en Octubre 12, 2018, 12:26:35 PM
en inserte el orden es: Nombre, apellido y foto
pero no me deja ingresar foto ya que me pide que este en Matriz de byte
y eso es lo que no se hacer, mil disculpas ya que estoy tratando de aprender de mi parte las cosas
y muchas gracias por tu respues, pero no se como se haria en visual basic
Título: Re:Problemas al guardar imágenes a la base de datos
Publicado por: Solid Water en Octubre 12, 2018, 12:41:42 PM
Probá así (pone esto antes de la llamada a la función):

Código (vb.net) [Seleccionar]

Dim ms = new MemoryStream()
foto.Save(ms, System.Drawing.Imaging.ImageFormat.Png) ' Use appropriate format here
Dim bytes = ms.ToArray()


y como tercer parámetro le pasas la variable bytes que es ahora tu array de bytes, seguro después cuando haces el select de la base de datos tenes que hacer el camino inverso, pasarlo de array de bytes a image.

Olvide decir que no recuerdo como es el tema de las referencias en VB, en C# para usar stream tenes que hacer un using System.IO, como no se como es en VB, si no te funciona la línea del MemoryStream ponelo así:

System.IO.MemoryStream

Saludos,
Título: Re:Problemas al guardar imágenes a la base de datos
Publicado por: leacim en Octubre 12, 2018, 12:58:22 PM
muchas gracias por la ayuda ahora mismo pruebo!!!
Título: Re:Problemas al guardar imágenes a la base de datos
Publicado por: leacim en Octubre 12, 2018, 01:11:12 PM
MUCHAS GRACIAS...!!!
Me ayudo mucho en solucionar el problema que tenia.