none
Validar Usuarios

    Pregunta

  • Hola, quisiera saber como hago para hacer por ejemplo un caso de ingreso al sistema para consultar notas, pagos y otras cosas, es decir yo tengo no solo que validar el usuario si existe o no en la tabla de usuario sino que tengo que llevarme un dato o mas a otro form para ser usado, como puedo hacer ese proceso?

     

    el de validar usuario es facil, solo programo un boton con este codigo:

     

    Dim Usuarios As DataTable = InicioTableAdapter.GetDataByUserAndPass(TxtUsuario.Text, TxtClave.Text)

    If Usuarios.Rows.Count > 0 Then

    Me.Hide()

    Principal.Show()

    Else

    MessageBox.Show("Nombre de Usuario o Contraseña Invalidos", "Ingreso al Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error)

    TxtUsuario.Text = ""

    TxtClave.Text = ""

    End If

     

    y antes de eso creo un query llamado GetDataByUserAndPAss que contenga el siguiente codigo: Select Usuario, Contraseña From Inicio Where Usuario = @Usuario AND Clave = @Clave

     

     

    espero me puedan ayudar, saludos

    martes, 18 de noviembre de 2008 18:37

Respuestas

  • Hola otra vez:

     

    Creo que sí, me he pasado . Creo que entonces lo más sencillo seríe qie declararas una varible pública como gcUsuario e hicieras:

     

    If Usuarios.Rows.Count > 0 Then

    gcUsuario = TxtUsuario.Text

    .....

     

     

    Luego desde cualquier form puedes sabel ewl usuario ya que está guardado en la variable gcUsuario.

     

     

    Espero que esto si te sirva.

     

     

     

    Un saludo

     

    Rafael Altungy

    miércoles, 19 de noviembre de 2008 17:28
  • Perdona, se me olvidó.

     

    Tengo un módulo Rutinas.vb en donde tengo todas las funciones mías que necesito, y ahí declaro la variable (No sé por qué pero si la declaro en el programa del menú no funciona).

     

    Module Rutinas

    Public gcUsuario = ""

     

    Public Function ....

     

    End Function

     

    ....

     

     

    End Module

    jueves, 20 de noviembre de 2008 17:23

Todas las respuestas

  • Hola:

     

    Intentaré explicarte cómo lo hago yo.

     

    Tengo un form llamafo frmLogin que tiene el campo txtUsuario y txtClave, y dos botones; Aceptar y Cancelar.

     

    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click

    Dim dsEmpleados As DataSet

    dsEmpleados = CargaTabla("Empleados", "SELECT * FROM Empleados WHERE IDEmpleado = '" + txtUsuario.Text.PadRight(10, " ") + "'")

    If dsEmpleados.Tables("Empleados").Rows.Count = 0 Then

    MsgBox("Nombre de usuario o contraseña inv lidos", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "")

    Return

    End If

    If Cifra(txtClave.Text.PadRight(10, " ")) <> dsEmpleados.Tables("Empleados").Rows(0)("Clave") Then

    MsgBox("Nombre de usuario o contraseña inv lidos", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "")

    Return

    End If

    txtResultado.Text = txtUsuario.Text

    Me.DialogResult = Windows.Forms.DialogResult.OK

    Me.Close()

    End Sub

    Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click

    Me.DialogResult = Windows.Forms.DialogResult.Cancel

    Me.Close()

    End Sub

     

    Cifra es una función que cifra la clave para que ne la tabla no se vea la clave del usuario.

     

     

    En el form principal tengo dfeclarada la variable gcUsuario como´Public para poder acceder al nombre de login en toda la aplicación.

     

    En el Load del form principal hago:

     

    Dim Obj As New frmLogin

    Dim nResultado As Integer

    nResultado = Obj.ShowDialog(Me)

    If nResultado = Windows.Forms.DialogResult.OK Then

    gcUsuario = Obj.txtUsuario.Text.PadRight(10, " ")

    Else

    Me.Close

    End If

    Obj.Dispose()

     

     

    Espero que te sirva de ayuda

     

     

     

    Rafael Altungy

    ESPAÑA

    martes, 18 de noviembre de 2008 20:24
  • Esta buena tu respuesta pero creo que estamos usando metologia algo distinta o aun es mucho lo que me falta por aprender sobre Visual Basic 2005, hermano yo en el codigo que tengo arriba ya el usuario se valida por clave y nombre, ese codigo siempre funciona bien bien, la cosa esta en que por ejemplo yo use la clave pa hacer consulta de datos, consulta de pagos y no tenr que escribirlo de nuevo en otros formularios, debe haber una funcion o procedimiento que me capture ese dato y lo almacene para luego usarlo, como un proceso de retorno de datos puede ser, hey y te agradesco tu ayuda y tu tiempo
    martes, 18 de noviembre de 2008 22:37
  • Hola otra vez:

     

    Creo que sí, me he pasado . Creo que entonces lo más sencillo seríe qie declararas una varible pública como gcUsuario e hicieras:

     

    If Usuarios.Rows.Count > 0 Then

    gcUsuario = TxtUsuario.Text

    .....

     

     

    Luego desde cualquier form puedes sabel ewl usuario ya que está guardado en la variable gcUsuario.

     

     

    Espero que esto si te sirva.

     

     

     

    Un saludo

     

    Rafael Altungy

    miércoles, 19 de noviembre de 2008 17:28
  • si esa solucion si me parece bien buena, es la correcta, pero hay un detalle, en donde hago dicha declaracion? porque pa usar ese codigo en el evento de hacer click en el boton de entrar tengo que haber declarado anteriormente la variable gcUsuario, gracias

    miércoles, 19 de noviembre de 2008 21:53
  • Perdona, se me olvidó.

     

    Tengo un módulo Rutinas.vb en donde tengo todas las funciones mías que necesito, y ahí declaro la variable (No sé por qué pero si la declaro en el programa del menú no funciona).

     

    Module Rutinas

    Public gcUsuario = ""

     

    Public Function ....

     

    End Function

     

    ....

     

     

    End Module

    jueves, 20 de noviembre de 2008 17:23