none
Utilizar Datos devueltos por una clase de tipo objeto

    Pregunta

  • Hola buenas tardes

    De antemano les agradezco su apoyo: anetriormente hice una la pregunta de " Como saber si lo que devuelve una clase es un objeto", la cual fue respondida y calificada como respues; ya que pude resolver el detalle en cuestion.

    Ahora tengo la siguiente pregunta: Si la clase devuelve un objeto con informacion de un usuario como puedo accesar a la informacion que regresa ese objeto.

    Este es el codigo que tengo y que corregi con la ayuda del foro:

     Public Function validarUsuario(ByVal obj As EntUsuarios)as object
            Try
                conectar()
                cmd = New SqlCommand("validarUsuario")
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Connection = cn
                cmd.Parameters.AddWithValue("@Usuario", obj.gusuario)
                cmd.Parameters.AddWithValue("@Password", obj.gpassword)
                Dim DR As SqlDataReader
                DR = cmd.ExecuteReader
                If DR.HasRows Then
                    Dim SU As New EntUsuarios
                    If DR.Read Then
                        SU.gidusuario = Convert.ToInt32(DR("idusuario").ToString())
                        SU.gnombre = DR("nombre").ToString()
                        SU.gapellidos = DR("apellidos").ToString()
                        SU.gusuario = DR("usuario").ToString()
                        SU.gacceso = DR("acceso").ToString()
                    End If
                    Return SU
                Else
                    Return Nothing
                End If
            Catch ex As Exception
                Return Nothing
            Finally
                desconectar()
            End Try
        End Function

    En la parte resalta por negritas regreso al objeto con los datos encontrados;

    En esta parte llamo al a funcion al hacer click en el boton de aceptar; pero no se como acceder a la informacion que llega con el objeto:

    Private Sub BtnAceptar_Click(sender As Object, e As EventArgs) Handles BtnAceptar.Click

            Dim VAC As New NegUsuarios
            Dim DTU As New EntUsuarios With
            DTU.gusuario = TxtUsuario.text

    DTU.gpassword =TxtPass.text

            If VAC.validarUsuario(DTU) Is Nothing Then
                MsgBox("Intente Nuevamente", MsgBoxStyle.Information, "Acceso Denegado!!")
                TxtUsuario.Clear()
                TxtPass.Clear()
                TxtUsuario.Focus()
            Else
                Form2.Show()

    "NO SE COMO OBTENER LOS DATOS DEL OBJETO DEVUELTO Y PONERLO EN UL LABEL O TEXTBOX"

            End If

        End Sub

    Les agradezco nuevamente y reciban saludos cordiales.!!



    jueves, 22 de septiembre de 2016 19:00

Respuestas

  • Hola MVK23,

    Si el método devuelve un objeto de tipo EntUsuarios con los datos, solo tendrías que obtenerlo de la siguiente manera :

            Dim user As EntUsuarios = VAC.validarUsuario(DTU)
    
            If user Is Nothing Then
                MsgBox("Intente Nuevamente", MsgBoxStyle.Information, "Acceso Denegado!!")
                'lo demás ....
            Else
                Form2.Show()
    
                'Obtengo los valores
                TextBox1.Text = user.gnombre
            End If

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI


    • Marcado como respuesta MVK23 jueves, 22 de septiembre de 2016 21:55
    • Editado Joel C. Naupa Crispín jueves, 22 de septiembre de 2016 23:51 Orden
    jueves, 22 de septiembre de 2016 19:08

Todas las respuestas

  • Hola MVK23,

    Si el método devuelve un objeto de tipo EntUsuarios con los datos, solo tendrías que obtenerlo de la siguiente manera :

            Dim user As EntUsuarios = VAC.validarUsuario(DTU)
    
            If user Is Nothing Then
                MsgBox("Intente Nuevamente", MsgBoxStyle.Information, "Acceso Denegado!!")
                'lo demás ....
            Else
                Form2.Show()
    
                'Obtengo los valores
                TextBox1.Text = user.gnombre
            End If

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI


    • Marcado como respuesta MVK23 jueves, 22 de septiembre de 2016 21:55
    • Editado Joel C. Naupa Crispín jueves, 22 de septiembre de 2016 23:51 Orden
    jueves, 22 de septiembre de 2016 19:08
  • Gracias Joel C. Naupa Crispin

    Es lo que estaba buscando: ahora pudeo crear un conjunto de variables gloables que pueda utilizar durante el inicio de la sesion del usuario.

    Gracias nuevamente.!!!

    jueves, 22 de septiembre de 2016 21:59