none
problema cuando busca en la base de datos un imagen RRS feed

  • Pregunta

  • el problema que tengo es que cuando registro dichos datos el cual también almacena imagen puede ser solo datos o con imagen a la vez, por ejemplo como mis datos personales y mi fotos, o solo mis datos personales sin foto al no posee. el registra la imagen que contiene o si no contiene en el picture. el problema es cuando hago una busqueda y no hay imagenes registrada. me muestra este siguiente mensaje

    No se puede convertir un objeto de tipo 'System.DBNull' al tipo 'System.Byte[]'. y el codigo del cual muestra ese mensaje es el siguiente:

     Dim img As Byte() = Nothing
                                img = CType(dr.GetValue(2), Byte())

                                If img IsNot Nothing Then
                                    Dim ms As New MemoryStream(img)
                                    PictureBox2.Image = Image.FromStream(ms)
                                Else
                                    PictureBox2.Image = Nothing
                                End If


    nastar

    jueves, 30 de marzo de 2017 18:08

Respuestas

  • Hola german634,

    Lo que pasa es que nunca validas si el valor que devuelve 'dr.GetValue(2)' corresponde a un DBNull.Value o no, si te fijas bien lo asignas directamente al CType (intentas convertir directamente).

    Por lo que podrías hacer :

    'Si no es DBNull
    If Not IsDBNull(dr.GetValue(2)) Then
    
        'Obtenemos los bytes
        Dim bytes As Byte() = CType(dr.GetValue(2), Byte())
    
        Dim ms As New MemoryStream(bytes)
        PictureBox2.Image = Image.FromStream(ms)
    Else
       'Es nulo
        PictureBox2.Image = Nothing
    End If


    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Propuesto como respuesta Willams Morales jueves, 30 de marzo de 2017 19:47
    • Marcado como respuesta german634 jueves, 30 de marzo de 2017 23:21
    jueves, 30 de marzo de 2017 18:27