Jump to content
informaster

VB.net + SQLITE - Login Form

Recommended Posts

informaster

Boa Noite

Caros amigos

Continuo a dar no SQLITE

Tenho uma tabela empregados:

id

nome

senha

tipoacesso

data

Gostava de usar o nome do empregado + senha num login para autenticar certos botoes e acessos especiais das outras forms

Tenho o meu codigo assim:

Imports System.Data.SQLite

Public Class frm_login

    Dim sConnectionString As String
    Public sql_select_empregados As String = "Select nome From empregados order by id"

    Private Sub bt_ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_ok.Click

        Dim nome As String
        Dim pass As String
        frm_principal.Show()
    End Sub

    Private Sub bt_cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click
        Close()
    End Sub

    Private Sub frm_login_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        valores_fichaempregados()
    End Sub


    Public Sub valores_fichaempregados()
        Try
            'define um objeto Command
            Dim SQLcommand As SQLiteCommand
            sConnectionString = "Data Source=C:\StockUs\bdstocks2011.db3;Version=3;New=True;Compress=True;"
            Dim SQLconnect As New SQLite.SQLiteConnection(sConnectionString)
            SQLconnect.Open()
            SQLcommand = SQLconnect.CreateCommand

            'executa a consulta
            SQLcommand.CommandText = sql_select_empregados

            'VARIAVEL LEITOR É UM DATA READER DO SQLITE E PODE SER IGUAL A UM COMANDO SQL . EXECUTANDO UM READER
            Dim leitor As SQLiteDataReader = SQLcommand.ExecuteReader()

            'SE LEITOR  TIVER LINHAS ENTÃO
            If leitor.HasRows Then

                'EXECUTA ATE LERES OS DADOS TIPO ACESSO PARA STRING
                While leitor.Read()
                    cb_user.Items.Add(leitor.Item("nome")).ToString()
                    cb_user.Text = leitor.Item("nome")
                End While
            End If

            SQLcommand.Dispose()
            SQLconnect.Close()
        Catch ex As Exception
            MsgBox("Erro ao acessar o SQLite: " & ex.Message)
        End Try

    End Sub
End Class

Qual a melhor forma de pegar o nome dos empregados e suas senhas

e colocar condição do genero

If nomeempregado é igual á senha que está na base de dados então mostra FRM_principal com estes acessos.

?????????

Caso contrário password incorrecta.

Aguardo por vossos comentários

Obrigado


 

 

Nuno Revez

@informaster

Share this post


Link to post
Share on other sites
bioshock

Epa, utiliza-me o "code=vbnet" nessa treta, nem dá gosto olhar assim..aff :bored:

Share this post


Link to post
Share on other sites
Andrepereira9

Boas

No cabeçalho onde tens as opções, tens lá uma lista com todos os tipos de código. Escolhes VB.Net, ou então utilizas a tag code=vb.net    ‘bloco de código ‘    /code


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
informaster

Bom Dia Caros Amigos

Aqui vai o problema resolvido:

Imports System.Data.SQLite

Public Class frm_login

    Dim sConnectionString As String
    Public sql_select_tipoacesso As String = "Select tipoacesso From empregados"
    Public sql_select_empregados As String = "Select * From empregados"

    Private Sub bt_ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_ok.Click
        'VARIAVEL DA LIGAÇÃO Á BD
        sConnectionString = "Data Source=C:\StockUs\bdstocks2011.db3;Version=3;New=True;Compress=True;"

        'VARIAVEL DA LIGAÇÃO E ABERTURA DA BASE DE ADOS
        Dim SQLconnect As New SQLite.SQLiteConnection(sConnectionString)
        SQLconnect.Open()

        'VARIAVEL COMANDO DO SQLITE
        Dim SQLcommand As SQLiteCommand
        SQLcommand = SQLconnect.CreateCommand
        'VARIAVEL ONDE SELECIONA TUDO DA TABELA EMPREGADOS ONDE NOME E SENHA TEM QUE SER IGUAIS Á CBOX E TXTSENHA
        Dim cmd As SQLiteCommand = New SQLiteCommand("SELECT * FROM empregados WHERE nome = '" & cb_user.Text & "' AND senha = '" & txt_pass.Text & "' ", SQLconnect)
        'VARIAVEL DE LEITURA DE TUDO
        Dim sdr As SQLiteDataReader = cmd.ExecuteReader()
        'SE A VARIAVEL SDR É VERDADEIRA AO QUE É LIDO NA BD ENTÃO OK ENTRAS
        If (sdr.Read() = True) Then

            'MENSAGEM DE BOAS VINDAS COM O NOME DO EMPREGADO
            MsgBox("Seja bem vindo/a:  " + cb_user.Text.ToUpper)
            'MOSTRA FRM PRINCIPAL
            frm_principal.Show()
            frm_principal.txt_statusemp.Text = sdr.Item("tipoacesso")

            If frm_principal.txt_statusemp.Text = "Gerente" Then
                frm_principal.bt_tecnico.Show()
            Else
                frm_principal.bt_tecnico.Hide()
            End If

            'ESCONDE A FRM LOGIN
            Me.Hide()

        Else

            MessageBox.Show("NÃO TEM ACESSO, TENTE NOVAMENTE OU FALE COM O GERENTE.")

        End If



    End Sub

    Private Sub bt_cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_fechar.Click
        Dim confirmar As Integer
        confirmar = MsgBox("Tem a certeza que quer sair da aplicação?", vbYesNo + vbExclamation)
        If confirmar = 6 Then
            End
        ElseIf confirmar = 7 Then
            Return
        End If
    End Sub

    Private Sub frm_login_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        valores_fichaempregados()
    End Sub


    Public Sub valores_fichaempregados()
        Try
            'define um objeto Command
            Dim SQLcommand As SQLiteCommand
            sConnectionString = "Data Source=C:\StockUs\bdstocks2011.db3;Version=3;New=True;Compress=True;"
            Dim SQLconnect As New SQLite.SQLiteConnection(sConnectionString)
            SQLconnect.Open()
            SQLcommand = SQLconnect.CreateCommand

            'executa a consulta
            SQLcommand.CommandText = sql_select_empregados

            'VARIAVEL LEITOR É UM DATA READER DO SQLITE E PODE SER IGUAL A UM COMANDO SQL . EXECUTANDO UM READER
            Dim leitor As SQLiteDataReader = SQLcommand.ExecuteReader()

            'SE LEITOR  TIVER LINHAS ENTÃO
            If leitor.HasRows Then

                'EXECUTA ATE LERES OS DADOS TIPO ACESSO PARA STRING
                While leitor.Read()
                    cb_user.Items.Add(leitor.Item("nome")).ToString()
                    cb_user.Text = leitor.Item("nome")
                End While
            End If

            SQLcommand.Dispose()
            SQLconnect.Close()
        Catch ex As Exception
            MsgBox("Erro ao acessar o SQLite: " & ex.Message)
        End Try

    End Sub


End Class

Assim funciona o login form. continuação dos proximos capitulos da aplicação que estou a fazer sqlite + vbnet 2008

:(


 

 

Nuno Revez

@informaster

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

×
×
  • 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.