Jump to content
Sign in to follow this  
nelgaio

Nome do utilizador numa StatusStrip?

Recommended Posts

nelgaio

Boas pessoal :)

Eu tenho este código para login:

 Dim ole As String = "SELECT * From login where Utilizador = ? and Password = ?;"
        Dim myConnectionString As String = _
                "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Application.StartupPath & "\pap.accdb"
        Dim connection As New OleDbConnection(myConnectionString)
        Dim command As New OleDbCommand(ole, connection)
        command.Parameters.Add("@Utilizador", OleDbType.VarChar).Value = Login.txtUtilizador.Text
        command.Parameters.Add("@Password", OleDbType.VarChar).Value = Login.txtPassword.Text
        connection.Open()
        Dim x As Integer = command.ExecuteScalar

        If Integer.Parse(x.ToString) >= 1 Then
            Dim leitor As OleDbDataReader = command.ExecuteReader()
            If leitor.HasRows Then
                While leitor.Read
                    If leitor.Item("TipoUtilizador").ToString = "1" Then
                        ToolStripStatusLabel1.Text = "Utilizador: Padrão"
                    ElseIf leitor.Item("TipoUtilizador").ToString = "2" Then
                        ToolStripStatusLabel1.Text = "Utilizador: Administrador"

                    End If
                End While
            End If
        End If
        connection.Close()
        connection = Nothing
        command = Nothing

Na StatusStrip já coloquei o tipo de utilizador logado, mas gostava de meter também o nome do utilizador.

Para isso terei de ir buscar o aluno com o ID associado ao do login, algo do género. :D

Share this post


Link to post
Share on other sites
Caça

Pegas no texto que está na textbox txtUtilizador e colocas lá.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
bioshock
ToolStripStatusLabel1.Text = "Utilizador: " & leitor.Item("NomeUtilizador").ToString()

Share this post


Link to post
Share on other sites
nelgaio

ToolStripStatusLabel1.Text = "Utilizador: " & leitor.Item("NomeUtilizador").ToString()

Só que queria ir buscar o nome do utilizador à tabela aluno, dá para fazer isso? :thumbsup:

Share this post


Link to post
Share on other sites
bioshock

Ahh, sendo assim apanhas o ID correspondente dessa tabela e fazes outra query.

Share this post


Link to post
Share on other sites
nelgaio

Ahh, sendo assim apanhas o ID correspondente dessa tabela e fazes outra query.

Como faço o select para as duas tabelas?

Share this post


Link to post
Share on other sites
bioshock

Podes fazer como o @Caça sugeriu ou então, presumindo que ligas uma tabela à outra por um campo chave, apanhas o ID desse mesmo campo e fazes uma query normal com esse ID à tabela Alunos.

Share this post


Link to post
Share on other sites
nelgaio

Qualquer coisa como isto?

Está a dar erro.

 Dim ole As String = "SELECT login.Utilizador, login.Password, login.TipoUtilizador, aluno.Nome From login, aluno where login.Utilizador = ? and login.Password = ?;"
        Dim myConnectionString As String = _
                "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Application.StartupPath & "\pap.accdb"
        Dim connection As New OleDbConnection(myConnectionString)
        Dim command As New OleDbCommand(ole, connection)
        command.Parameters.Add("@Utilizador", OleDbType.VarChar).Value = Login.txtUtilizador.Text
        command.Parameters.Add("@Password", OleDbType.VarChar).Value = Login.txtPassword.Text
        connection.Open()
        Dim x As Integer = command.ExecuteScalar

        If Integer.Parse(x.ToString) >= 1 Then
            Dim leitor As OleDbDataReader = command.ExecuteReader()
            If leitor.HasRows Then
                While leitor.Read
                    If leitor.Item("TipoUtilizador").ToString = "1" Then
                        ToolStripStatusLabel1.Text = "Utilizador: " & leitor.Item("Nome").ToString()
                    ElseIf leitor.Item("TipoUtilizador").ToString = "2" Then
                        ToolStripStatusLabel1.Text = "Utilizador: " & leitor.Item("Nome").ToString()

                    End If
                End While
            End If
        End If
        connection.Close()
        connection = Nothing
        command = Nothing

Share this post


Link to post
Share on other sites
bioshock

Eu disse isto:

Claro que está a dar erro, nem fizeste uma coisa nem outra.

Porque não fizeste nada disto:

Podes fazer como o @Caça sugeriu ou então, presumindo que ligas uma tabela à outra por um campo chave, apanhas o ID desse mesmo campo e fazes uma query normal com esse ID à tabela Alunos.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.