none
Como comprobar si una seleccion de un comboBox es igual a un tipo de usuario RRS feed

  • Pregunta

  • tengo un codigo para ingresar al sistema por el cual la informacion debe cumplir con 3 campos nombre,clave,tipo quisiera saber si hay forma de comprobar por ejemplo si tipo de usuario es igual a 'ADMIN'O'CAJA''ALMACEN' para yo determinar ciertas acciones

    este es el codigo>

    Private Sub btningresar_Click(sender As Object, e As EventArgs) Handles btningresar.Click
            Dim conn As New SqlClient.SqlConnection("Data Source=SAMUELSUSANA; Initial catalog=poovb;integrated security=true")
            Dim dr As SqlDataReader
            'Dim da As SqlDataAdapter
            Dim ds As New DataSet
            'Dim dt As DataTable

            Try
                conn.Open()
                Dim cmd As New SqlCommand("Select * from Usuario where Usuario='" & Me.txtusuario.Text & "'and Clave='" & Me.txtcontraseña.Text & "'and Tipo= '" & Me.cbtipo.Text & "'", conn)
                dr = cmd.ExecuteReader
                If (dr.HasRows = True) Then
                    MessageBox.Show("Bienvenido al Sistema Señor/a..." + txtusuario.Text)
                    Me.Hide()
                    MenuPrincipal.Show()

                ElseIf (dr.HasRows = False) Then
                    MessageBox.Show("Usuario y/o Contraseña Erronea, Por favor intente de nuevo.")
                    txtusuario.Clear()
                    txtcontraseña.Clear()
                    cbtipo.Text = ""
                    txtusuario.Focus()
                    conteo = conteo + 1
                    If (conteo = 3) Then
                        MessageBox.Show("Ha alcanzado el limite de intentos, Vuelva a intentarlo mas tarde con datos correctos.")
                        Application.Exit()

                    End If


                End If
            Catch Exoledb As Exception
            Finally
                conn.Close()
            End Try


    samuel

    viernes, 4 de agosto de 2017 16:12

Respuestas

  • Hola:

     No sugeriría dejar que el usuario ingrese el tipo de usuario que es, podría ser un punto de entrada para que otros usuarios puedan hacer usos indebido de ese campo, sugeriría únicamente hacer la validación de Usuario y Contraseña y por dentro (en la tabla) tener una estructura que permita la identificación del tipo de usuario y devolver un valor en consecuencia, este valor sera identificable por código y las acciones que requieras con base en el tipo de usuario se harían basándonos en este valor retornado.

     En este articulo trato este tema de una manera un poco burda porque el articulo fue creado para responder otra pregunta de este mismo foro, pero los conceptos con completamente validos para tu caso:

    Restricción de Usuarios

     El código del articulo esta escrito en C# pero fácilmente podrás convertir los fragmentos que desees a Vb.Net usando esta herramienta online:

     Telerik Code Converter

     Y si así lo deseas puedes enviarme un correo por medio del formulario de contacto del blog para hacerte llegar la traducción completa a Vb.Net


    Saludos desde Monterrey, Nuevo León, México!!!

    viernes, 4 de agosto de 2017 17:50

Todas las respuestas

  • A ver si te entiendo. Para que el usuario puede acceder a la aplicación la expresión de tres partes -en la consulta de selección- debe resultar verdadera, por tanto, el tipo de usuario autenticado es el que tienes seleccionado en el control 'cbtipo'.


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    viernes, 4 de agosto de 2017 16:32
  • Si, exactamento, para ingresar debe de cumplir los tres campos osea deben de coincidir las 3 informaciones

    samuel

    viernes, 4 de agosto de 2017 16:34
  • Si, por lo mismo es que el valor que requieres lo tienes en la propiedad Text del control 'cbtipo', ¿o que no estoy entendiendo?


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    viernes, 4 de agosto de 2017 16:39
  • si pero que hay lo que hace es comprobar me explico

    Dim cmd As New SqlCommand("Select * from Usuario where Usuario='" & Me.txtusuario.Text & "'and Clave='" & Me.txtcontraseña.Text & "'and Tipo= '" & Me.cbtipo.Text & "'", conn)

    comprueba que todos los datos coincidan pero quiero que lea si el usuario seleccion del ComboBox que es el cbtipo , la opcion Administrador  y las demas tambien coinciden osea el nombre y la clave (es por que es ese tipo de usuario)

    entonces si es ese tipo de usuario que segun el tipo que selecciono haga ciertas cosas ejemplo

    if(dr.hasrows=true) and cbtipo.text='ADMINISTRADOR' THEN

    REALIZAR UNA ACCION DETERMINADA

    SE PUEDE HACER ASI?

    END IF


    samuel

    viernes, 4 de agosto de 2017 16:47
  • Hola:

     No sugeriría dejar que el usuario ingrese el tipo de usuario que es, podría ser un punto de entrada para que otros usuarios puedan hacer usos indebido de ese campo, sugeriría únicamente hacer la validación de Usuario y Contraseña y por dentro (en la tabla) tener una estructura que permita la identificación del tipo de usuario y devolver un valor en consecuencia, este valor sera identificable por código y las acciones que requieras con base en el tipo de usuario se harían basándonos en este valor retornado.

     En este articulo trato este tema de una manera un poco burda porque el articulo fue creado para responder otra pregunta de este mismo foro, pero los conceptos con completamente validos para tu caso:

    Restricción de Usuarios

     El código del articulo esta escrito en C# pero fácilmente podrás convertir los fragmentos que desees a Vb.Net usando esta herramienta online:

     Telerik Code Converter

     Y si así lo deseas puedes enviarme un correo por medio del formulario de contacto del blog para hacerte llegar la traducción completa a Vb.Net


    Saludos desde Monterrey, Nuevo León, México!!!

    viernes, 4 de agosto de 2017 17:50
  • gracias mas adelante le hechare un vistazo


    samuel

    viernes, 4 de agosto de 2017 19:30