none
Sistema de login e senha avançado RRS feed

  • Pergunta

  • Preciso fazer uma tela de login com campos: nome e senha

    Só que preciso fazer com que o vb localize no banco de dados este nome e senha existem e me abra uma outra tela, até ai facil

    porém no banco de dados tenho uma linha com nome, senha e administrador do tipo bit. Quero que quando fazer login verifique se este usuario é comum abrir uma tela se este usuario for administrador abrir outra tela.

    o codigo que estou usando e esta funcionando so a parte de login simples é este.

    Public Class Login
    Private Sub BtOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtOK.Click
    Dim temp = UsuarioTableAdapter.Login(TextBox1.Text, TextBox2.Text)
    If temp Is Nothing Then
    MessageBox.Show("Login e ou Password incorretos.", "Help Desk", MessageBoxButtons.OK, MessageBoxIcon.Information)
    Else
    FmChamado.Show()
    FmTI.Show()
    Me.Hide()
    End If
    End Sub
    End Class

    No fmTi que é a outra tela queria abrir só se o usuario fosse administrador.

    quarta-feira, 30 de março de 2011 15:58

Respostas

  • Consegui fazer assim

    Public Class FmLogin
    
      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim temp = UsuarioTableAdapter1.Login(TextBox1.Text, TextBox2.Text)
        Dim administrador As Integer
        If temp Is Nothing Then
          MessageBox.Show("Login e ou Password incorretos.", "Help Desk", MessageBoxButtons.OK, MessageBoxIcon.Information)
        ElseIf UsuarioTableAdapter1.Admin(TextBox1.Text) Then
          administrador = True
          FmPrincipal.Show()
          FmPrincipal.Enabled = True
          Me.Hide()
        Else
          FmPrincipal.Show()
          FmPrincipal.Enabled = True
          FmPrincipal.ToolStripButton2.Enabled = False
          FmPrincipal.ToolStripButton3.Enabled = False
          FmPrincipal.ToolStripButton5.Enabled = False
          FmPrincipal.PrintToolStripButton.Enabled = False
          FmPrincipal.ToolStripMenuItem1.Enabled = False
          FmPrincipal.ToolStripMenuItem2.Enabled = False
          FmPrincipal.ToolStripMenuItem3.Enabled = False
          FmPrincipal.ToolStripMenuItem4.Enabled = False
          Me.Hide()
        End If
      End Sub
    Aqui deu certo, espero ajudar outros com isso!!!
    • Marcado como Resposta tiosaw quarta-feira, 13 de abril de 2011 15:53
    quarta-feira, 13 de abril de 2011 15:52

Todas as Respostas

  • Estou supondo que a variavel temp armazena um TableAdapter, então se foi encontrado usuário, você preenche um DataSet e verifica o campo "administrador" esta com true ou 1.

    Um exemplo básico.

    Public Class Login
    	Private Sub BtOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtOK.Click
    	Dim temp = UsuarioTableAdapter.Login(TextBox1.Text, TextBox2.Text)
    		If temp Is Nothing Then
    			MessageBox.Show("Login e ou Password incorretos.", "Help Desk", MessageBoxButtons.OK, MessageBoxIcon.Information)
    		Else
    			Dim ds As DataSet
    			temp.Fill(ds,"tabela1")
    			If ( ds.Tables(0).Rows(0)["administrador"].ToString().Equals("1")) Then
    				FmTI.Show()
    			End If
    			FmChamado.Show()
    			Me.Hide()
    		End If
    	End Sub
    End Class
    

     


    Abraço

    Estevam

    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    • Sugerido como Resposta Eduardo Cury quarta-feira, 30 de março de 2011 23:18
    • Não Sugerido como Resposta tiosaw terça-feira, 12 de abril de 2011 00:16
    quarta-feira, 30 de março de 2011 18:43
  • Estou supondo que a variavel temp armazena um TableAdapter, então se foi encontrado usuário, você preenche um DataSet e verifica o campo "administrador" esta com true ou 1.

    Um exemplo básico.

     

    Public Class Login
    
    
    
    	Private Sub BtOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtOK.Click
    
    
    
    	Dim temp = UsuarioTableAdapter.Login(TextBox1.Text, TextBox2.Text)
    
    
    
    		If temp Is Nothing Then
    
    
    
    			MessageBox.Show("Login e ou Password incorretos.", "Help Desk", MessageBoxButtons.OK, MessageBoxIcon.Information)
    
    
    
    		Else
    
    
    
    			Dim ds As DataSet
    
    
    
    			temp.Fill(ds,"tabela1")
    
    
    
    			If ( ds.Tables(0).Rows(0)["administrador"].ToString().Equals("1")) Then
    
    
    
    				FmTI.Show()
    
    
    
    			End If
    
    
    
    			FmChamado.Show()
    
    
    
    			Me.Hide()
    
    
    
    		End If
    
    
    
    	End Sub
    
    
    
    End Class
    
    
    
    

     

     


    Abraço

    Estevam

    **** Se a reposta foi útil, então não esqueça de marca-lá. ***

    Nessa parte aqui dá esse erro, desculpa ai mas sou bem leigo nesse ramo.

    temp.fill(ds,"Usuario")  erro

                                          Public member "Fill" on type "String" not found


    sexta-feira, 1 de abril de 2011 23:50
  • O método a seguir retorna que tipo de dados?

     UsuarioTableAdapter.Login(TextBox1.Text, TextBox2.Text)
    


    Abraço

    Estevam

    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    sábado, 2 de abril de 2011 03:05
  • O método a seguir retorna que tipo de dados?

     


    Abraço

    Estevam

    **** Se a reposta foi útil, então não esqueça de marca-lá. ***

     UsuarioTableAdapter.Login(TextBox1.Text, TextBox2.Text)
    
    


    Tabela Usuario contem id, nome, departamento,login,senha e administrador

    id    int

    nome   varchar

    departamento  varchar

    login    varchar

    senha     varchar

    administrador   bit

     

    sábado, 2 de abril de 2011 22:58
  • Consegui fazer assim

    Public Class FmLogin
    
      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim temp = UsuarioTableAdapter1.Login(TextBox1.Text, TextBox2.Text)
        Dim administrador As Integer
        If temp Is Nothing Then
          MessageBox.Show("Login e ou Password incorretos.", "Help Desk", MessageBoxButtons.OK, MessageBoxIcon.Information)
        ElseIf UsuarioTableAdapter1.Admin(TextBox1.Text) Then
          administrador = True
          FmPrincipal.Show()
          FmPrincipal.Enabled = True
          Me.Hide()
        Else
          FmPrincipal.Show()
          FmPrincipal.Enabled = True
          FmPrincipal.ToolStripButton2.Enabled = False
          FmPrincipal.ToolStripButton3.Enabled = False
          FmPrincipal.ToolStripButton5.Enabled = False
          FmPrincipal.PrintToolStripButton.Enabled = False
          FmPrincipal.ToolStripMenuItem1.Enabled = False
          FmPrincipal.ToolStripMenuItem2.Enabled = False
          FmPrincipal.ToolStripMenuItem3.Enabled = False
          FmPrincipal.ToolStripMenuItem4.Enabled = False
          Me.Hide()
        End If
      End Sub
    Aqui deu certo, espero ajudar outros com isso!!!
    • Marcado como Resposta tiosaw quarta-feira, 13 de abril de 2011 15:53
    quarta-feira, 13 de abril de 2011 15:52