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)
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
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,
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
Probá así (pone esto antes de la llamada a la función):
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,
muchas gracias por la ayuda ahora mismo pruebo!!!
MUCHAS GRACIAS...!!!
Me ayudo mucho en solucionar el problema que tenia.