Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2006, 23:40
RugalMKing
 
Fecha de Ingreso: octubre-2004
Mensajes: 55
Antigüedad: 19 años, 7 meses
Puntos: 0
Exclamación Imagenes en un dataset.

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!