Hola,
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:
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)
Utilizando, claro está, la función del ejemplo arriba mencionado.
Código:
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
Ignoro si estoy bien o mal.
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:
Correo.Columns.Add(New DataColumn("Estado", System.Type.GetType("System.Byte[]")))
Por:
Código:
Correo.Columns.Add(New DataColumn("Estado", GetType(Byte())))
Reitero que deseo obtener la imágen directamente del disco duro, no de una base de datos.
Muchas gracias!