Foros del Web » Programación para mayores de 30 ;) » .NET »

Imagenes en un dataset.

Estas en el tema de Imagenes en un dataset. en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 18/03/2006, 23:40
 
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!
  #2 (permalink)  
Antiguo 11/05/2006, 16:02
 
Fecha de Ingreso: mayo-2006
Mensajes: 4
Antigüedad: 18 años
Puntos: 0
Imagenes en un dataset

Loque estas haciendo esta bien, pero te sugiero que crees un dataset especificando todas tus campos

Original en vez de crear un DataTABLe
ejemplo
Dim dsCLientes1 As New dsCLientes
Dim dr As dsClientes.Clientes.NewRow

ds.Tables.Add(Correo)

dr("Estado") = ImageToByte(Image.FromFile("SinLeer.jpg")) 'La imágen está en la mísma carpeta que el ejecutable.
dsClientes.Clientes.row.Add(dr)
a ver como te va
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:04.