Estoy intentando insertar imágenes en un dataset, basandome en este ejemplo:
dotnetcr.com/index.aspx?ID=3&art=62
No utilizo base de datos para esto, sencilamente deseo obtener la imágen del disco duro y colocarla en un datarow.
Lo que hize fue lo siguiente:
Código:
Utilizando, claro está, la función del ejemplo arriba mencionado.Dim ds As New DataSet Dim Correo As New DataTable("Mensajes") Dim dr As DataRow Correo.Columns.Add(New DataColumn("Estado", System.Type.GetType("System.Byte[]"))) ds.Tables.Add(Correo) dr("Estado") = ImageToByte(Image.FromFile("SinLeer.jpg")) 'La imágen está en la mísma carpeta que el ejecutable. Correo.Rows.Add(dr)
Código:
Ignoro si estoy bien o mal.Public Function ImageToByte(ByVal pImagen As Image) As Byte() Dim mImage() As Byte Try If Not IsNothing(pImagen) Then Dim ms As New System.IO.MemoryStream pImagen.Save(ms, pImagen.RawFormat) mImage = ms.GetBuffer ms.Close() Return mImage End If Catch End Try End Function
Lo que me gustaria es que alguien me pudiera instruir sobre como hacerlo correctamente, ya que al ejecutar la aplicación, en la celda correspondiente, en lugar de la imágen, aparece la leyenda: System.Byte[]
Esto sucede aún si cambio la línea:
Código:
Por:Correo.Columns.Add(New DataColumn("Estado", System.Type.GetType("System.Byte[]")))
Código:
Reitero que deseo obtener la imágen directamente del disco duro, no de una base de datos.Correo.Columns.Add(New DataColumn("Estado", GetType(Byte())))
Muchas gracias!