none
problemas al extraer una imagen de una base de datos RRS feed

  • Pregunta

  • Function ExtraerImagen(ByVal Num_Estudiante As Integer) As Byte()
            Using cnn As New SqlConnection(configuracion.ConnectionString)
                cnn.Open()
                Using cmd As SqlCommand = cnn.CreateCommand
                    cmd.CommandText = "Select Imagen From ESTUDIANTES_TABLA Where Num_Estudiante= " & Num_Estudiante
                    Dim mifoto() As Byte = CType(cmd.ExecuteScalar(), Byte())
                    Return mifoto
                End Using
            End Using
        End Function
    Private Sub Cargar_Datos_Estudiantes()
            Using cnn As New SqlConnection(configuracion.ConnectionString)
                Dim cmd As SqlCommand = cnn.CreateCommand()
                cmd.CommandText = "SELECT *, (Nombre + ' ' + Apellido_Paterno) as Nombre_Estudiante  FROM ESTUDIANTES_TABLA where Num_Estudiante=@Num_Estudiante"
    
                cmd.Parameters.AddWithValue("@Num_Estudiante", txtbusqueda.Text)
                Dim da As New SqlDataAdapter(cmd)
                Dim dt As New DataTable
                da.Fill(dt)
                If dt.Rows.Count > 0 Then
                    Dim row As DataRow = dt.Rows(0)
                           
                    If row("Imagen") IsNot DBNull.Value Then
                        Dim ms As New MemoryStream(ExtraerImagen(Me.txtnumestudiante.Text))
                        Me.pbfoto.Image = Image.FromStream(ms)
                    Else
                        Me.pbfoto.Image = Nothing
                   End If
                 
                Else
                    MessageBox.Show("No se encontro Estudiante en la base de datos")
                End If
            End Using
        End Sub

    System.InvalidCastException:

    'Conversion from string "CA20025874" to type 'Integer' is not valid.'


    aqui esta el error cuando trato de sacar el dato de la foto hacia mi picturebox me tira el error, Mi numero de estudiante es ese

    CA20025874   ahora bien si lo cambio por solo numerous osea 20025874 pues ahi no tengo ningun probleama, lo que quiero es que la function me acepte string de datos en vez de integer, ya trate cambiando

    ByVal Num_Estudiante As Integer por ByVal Num_Estudiante As String pero me da otro error

    miércoles, 14 de marzo de 2018 20:09

Respuestas

  • Hola:
    En la definicion de la función

    Function ExtraerImagen(ByVal Num_Estudiante As Integer) As Byte()

    Le pasas un parametro (Num_Estudiante que es Integer)

    Sim embargo cuando llamas a dicha funcion con la siguiente instruccion

    Dim ms As New MemoryStream(ExtraerImagen(Me.txtnumestudiante.Text))

    Le pasas un parametro que es string

    Para que te funcione pasandole un string, la definicion de la funcion seria

    Function ExtraerImagen(ByVal Num_Estudiante As String) As Byte()

    Un saludo desde Bilbo
    Carlos
    • Marcado como respuesta Efrain Diaz miércoles, 14 de marzo de 2018 23:29
    miércoles, 14 de marzo de 2018 22:15

Todas las respuestas

  • Hola:
    En la definicion de la función

    Function ExtraerImagen(ByVal Num_Estudiante As Integer) As Byte()

    Le pasas un parametro (Num_Estudiante que es Integer)

    Sim embargo cuando llamas a dicha funcion con la siguiente instruccion

    Dim ms As New MemoryStream(ExtraerImagen(Me.txtnumestudiante.Text))

    Le pasas un parametro que es string

    Para que te funcione pasandole un string, la definicion de la funcion seria

    Function ExtraerImagen(ByVal Num_Estudiante As String) As Byte()

    Un saludo desde Bilbo
    Carlos
    • Marcado como respuesta Efrain Diaz miércoles, 14 de marzo de 2018 23:29
    miércoles, 14 de marzo de 2018 22:15
  • Gracias Carlos Pero ya intente eso y de igual manera me dio error, la cosa es que no entiendo el porque por que pense lo mismo que tu pero no me sale
    miércoles, 14 de marzo de 2018 23:07