none
No puedo accesar a mi Aplicacion con usuarios SQL y WinForms RRS feed

  • Pregunta

  • Hola.

    Sucede que tengo una aplicación en Windows Forms, donde para poder ingresar al formulario principal es necesario proporcionar un usuario y una contraseña, sin embargo, cuando ingreso los datos solo me permite el acceso con el primer usuario que cree en la BDD, con los demás que he creado no me permite el acceso.

    Los datos los paso a través de parámetros a un Procedimiento Almacenado. Que es

    SELECT nombre, usuario, idrol, activo, iduser FROM usuarios WHERE usuario = @usuario AND contrasena = @contrasena

    La función a través de la cual obtengo el resultado del Procedimiento es

    Function usuarioValido(usuario As String, contrasenha As String) As Boolean
    
            usuarioValido = False
    
            'Obtiene el Objeto para la Conexión SQL
    
            Dim conexion As SqlConnection = New SqlConnection
            conexion = bdUsuarios(True)
            conexion.Open()
    
            'Crea Adaptador tipado como SP
            adaptador = New SqlDataAdapter("IniciarSesion", conexion)
            adaptador.SelectCommand.CommandType = CommandType.StoredProcedure
    
            'Agrega Parametros
            adaptador.SelectCommand.Parameters.Add("@usuario", SqlDbType.VarChar).Value = usuario
            adaptador.SelectCommand.Parameters.Add("@contrasena", SqlDbType.VarChar).Value = contrasenha
    
            Dim resultado As New DataTable
            adaptador.Fill(resultado)
    
            conexion.Close()
    
            If resultado.Rows.Count = 1 Then usuarioValido = True
    
            resultado.Dispose()
    
            Return usuarioValido
        End Function
    Con ningun puedo ingresar a la aplicación mas que con el primero ke di de alta. Que puede estar pasando?


    Saludos desde Ciudad de México

    martes, 8 de abril de 2014 22:01

Todas las respuestas

  • Hola: 

    Y como es que almacenas los usuarios en tu BD, probablemente estés planchando los registros de los demás usuarios al insertar uno nuevo, valida también si estas haciendo un Update de los datos de los usuarios que estés estableciendo el WHERE en la consulta SQL de lo contrario este también te planchara toda la demás información, por ultimo valida que la tabla que contiene tus usuarios y password contenga los demás registros con los que estas probando, puede que este solo contenga el primer registro.

    Has las validación que te comento y nos dices los tus resultados.


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

    martes, 8 de abril de 2014 22:25
  • Hola Luis.

    En efecto, todo eso ya lo revise. Incluso si ejecuto el procedimiento desde el SQL Studio con los datos de los diferentes usuarios, si me regresa la información correctamente, pero desde el programa ya no :(


    Saludos desde Ciudad de México

    miércoles, 9 de abril de 2014 14:51
  • Hola:

     Y ya validaste que solo tienes un usuario y password registrado, digo, si existen dos usuarios tu Sp devolvera un dos como valor y entonces tu validación ya no se tomara por valida en este paso:

     If resultado.Rows.Count = 1 Then usuarioValido = True

    Ahí claramente le estableces la condición, ahora si pones un BreackPoint en el esa linea que vez en el Rows, acaso no trae datos?


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

    miércoles, 9 de abril de 2014 15:30