none
[AJUDA] Sistema de login com banco de dados access RRS feed

  • Pergunta

  • Boa noite,

    Tenho meu projeto no VB,um sistema de login,porem quando aperto o botão entrar ele não faz o login,vou deixa o meu código abaixo

    Código do Form Login

    Imports System.Data
    Imports System.Data.OleDb
    Public Class frmLogin
    
        Public Function ValidaCampos() As Boolean
            If txtusuario.Text = "" Then
                MsgBox("Campo usuario está vazio!", MsgBoxStyle.Exclamation)
            End If
            If txtsenha.Text = "" Then
                MsgBox("Campo senha está vazio!", MsgBoxStyle.Exclamation)
            End If
            Return True
        End Function
        Private Sub PLogarSistema()
            Dim dr As OleDbDataReader = Nothing
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "SELECT * FROM tabusuarios WHERE usuario=? and senha=?"
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@usuario", txtusuario.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@senha", txtsenha.Text))
                    dr = cmd.ExecuteReader
                    If dr.HasRows Then
                        dr.Read()
                        strusuario = dr.Item("usuario")
                        strperfil = dr.Item("perfil")
                        Me.Hide()
                        frmPrincipal.Show()
                    Else
                        MsgBox("Falha no login", MsgBoxStyle.Information)
                    End If
                Catch ex As Exception
                Finally
                    con.Close()
                End Try
            End Using
        End Sub
        Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
            If txtsenha.PasswordChar = "●" Then
                txtsenha.PasswordChar = ""
            Else
                txtsenha.PasswordChar = "●"
            End If
        End Sub
        Private Sub frmLogin_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
        End Sub
    
        Private Sub btnentrar_Click(sender As Object, e As EventArgs) Handles btnentrar.Click
            If ValidaCampos() = False Then Exit Sub
            PLogarSistema()
        End Sub
    End Class
    

    Esse e o modulo de conexão do bando de dados:

    Imports System.Data
    Imports System.Data.OleDb
    Module AcessoBD
    
        Public strusuario As String
        Public strperfil As String
        Public intpergunta As Integer
    
        Public Function GetConnection() As OleDbConnection
            Dim strConexcao As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\bin\Debug\BalihooBD.mdb"
            Return New OleDbConnection(strConexcao)
        End Function
    
    End Module

    quinta-feira, 1 de março de 2018 02:28

Respostas

  • Aparentemente faltou uma aspa no final da string do modulo.

    experimente:

      Dim strConexcao As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\bin\Debug\BalihooBD.mdb"


    Se não der, crie uma pasta no disco C: ou Documentos, qualquer lugar, e cole:

     Dim strconexao As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Sistema\NomeBD.mdb"

    No exemplo a cima o BD está na pasta C:\Sistema

    Abraços

    • Marcado como Resposta iBueninho quinta-feira, 1 de março de 2018 03:52
    quinta-feira, 1 de março de 2018 03:38

Todas as Respostas

  • Boa noite, aonde está Catch ex as Exception

    coloque:

    Catch ex as Exception
    Msgbox (ex.Message)

    E mande o que aparece na mensagem.

    Abraços

    quinta-feira, 1 de março de 2018 02:46
  • Ok,eu coloquei e deu isso: 

    http://uploaddeimagens .com.br/images/001/310/678/full/asd.PNG?1519874419

    TIre o espaço por favor,pois nao sei como confirmar a conta

    quinta-feira, 1 de março de 2018 03:25
  • Aparentemente faltou uma aspa no final da string do modulo.

    experimente:

      Dim strConexcao As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\bin\Debug\BalihooBD.mdb"


    Se não der, crie uma pasta no disco C: ou Documentos, qualquer lugar, e cole:

     Dim strconexao As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Sistema\NomeBD.mdb"

    No exemplo a cima o BD está na pasta C:\Sistema

    Abraços

    • Marcado como Resposta iBueninho quinta-feira, 1 de março de 2018 03:52
    quinta-feira, 1 de março de 2018 03:38
  • Ou também, vá em Projeto -> Adicionar Fonte de Dados -> Banco de Dados -> Conjunto de Dados e clique em "Mostrar a cadeia de conexão que será salva no aplicativo." Copie o endereço que aparece na string.
    quinta-feira, 1 de março de 2018 03:44
  • Opa,muito obrigado,agora deu certo,eu utilizei esse código no modulo

    Dim strConexcao As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sistema\BalihooBD.mdb"

    • Sugerido como Resposta Celso Judson quarta-feira, 8 de janeiro de 2020 14:53
    quinta-feira, 1 de março de 2018 03:51