none
Formulario de Login RRS feed

  • Pregunta

  • Hola amigos alguien me da una manito, explicandome donde esta mi error en el siguiente codigo: gracias.

    Public Function IngresarAlSistema(ByVal dts As vUsuarios) As Boolean
            Try
                conectado()
                cmd = New SqlCommand("proc_Sel_SystemUserID_ByPassword")
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Connection = cnn

                cmd.Parameters.AddWithValue("@str_Password", dts.gUsuario)
                cmd.Parameters.AddWithValue("@Contraseña", dts.gContraseña)

                If cmd.ExecuteNonQuery Then
                    Return True
                Else
                    Return False
                End If


            Catch ex As Exception
                MsgBox(ex.Message)
                Return Nothing
            Finally
                desconectado()
            End Try
        End Function

     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Try
                Dim vdb As New vUsuarios
                Dim func As New fUsuarios
                vdb.gUsuario = TextBox1.Text
                vdb.gContraseña = TextBox2.Text

                If func.IngresarAlSistema(vdb) Then
                    MessageBox.Show("No eres Usuarios registrado, porfavor registrate primero", "MENSAJE DE USUARIOS", MessageBoxButtons.OK, MessageBoxIcon.Error)
                Else
                    MDIParent1.ShowDialog()
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub

    • Cambiado Enrique M. Montejo viernes, 19 de septiembre de 2014 7:36 Pregunta relacionada con el acceso a datos con SQL Server.
    martes, 16 de septiembre de 2014 20:04

Todas las respuestas

  • Hola.

    Podrías ser mas especifico? Cual es el error? Se dispara alguna excepción? En ese caso cual es el error que te muestra. Si no se dispara ninguna excepción, cual es el inconveniente, el usuario siempre se loguea o nunca se loguea?

    Si brindas mas detalles será mas fácil ayudarte...

    Según veo en el código, el problema puede ser que el usuario correcto no se loguea y si ingresas un usuario incorrecto si se loguea

    Si es ese el caso, probá a invertir el código del if, así.

    If func.IngresarAlSistema(vdb) Then
        MDIParent1.ShowDialog()            
    Else
        MessageBox.Show("No eres Usuarios registrado, porfavor registrate primero", "MENSAJE DE USUARIOS", MessageBoxButtons.OK, MessageBoxIcon.Error)                
    End If

    Porque tu función "IngresarAlSistema" devuelve verdadero cuando el usuario y contraseña son correctos. Bueno eso supongo ya que no veo el código del StoredProcedure

    martes, 16 de septiembre de 2014 21:31
  • este es el sp:

    ALTER proc [dbo].[InsUpd_Usuario]
    @Id int = null,
    @Nombre varchar(30),
    @Apellidos varchar(30),
    @Pasword varchar(25),
    @Contraseña varchar(25)
    as
    BEGIN 
     
     IF @Id IS NULL -- INSERTAR NUEVA INFORMACION DEL REGISTRO...
     BEGIN   
        INSERT INTO Usuarios(Nombre,Apellidos,Usuario,Contraseña)
    values (@Nombre,@Apellidos,@Pasword,@Contraseña)
        
     END
     ELSE -- MODIFICAR LA INFORMACION DEL REGISTRO...
     BEGIN
        update Usuarios set Nombre=@Nombre, Apellidos=@Apellidos, Usuario=@Pasword,Contraseña=@Contraseña
    where Id=@Id
      END 
      END

    miércoles, 17 de septiembre de 2014 0:16
  • Probaste a hacer lo que te dije, invertir el código del if?

    No me contestaste la pregunta sobre cual es el problema en concreto que es lo que hace mal tu código o que error es el que te aparece.

    El sp que me pasaste es el que se encarga de crear un nuevo usuario o de actualizar los datos de uno existente. El que me debías haber pasado es el que consulta si existe un usuario con el nombre y contraseña especificados, el que se llama "proc_Sel_SystemUserID_ByPassword"

    miércoles, 17 de septiembre de 2014 2:29