PROBLEMAS COM LOGIN NO MY SQL
Fala galera, estou tentando fazer um login com mysql mas estou tendo problemas ...
Ja usei dois codigos mas os dois estão com erros pra minha sorte hahaha , segue os dois abaixo:
Public pvl As Boolean = False
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
[ô]----Variaveis de conexão
Dim conexao As New MySqlConnection
Dim comandos As New MySqlCommand
Dim consulta As MySqlDataReader
[ô]---Variaveias de conexão
[ô]---Configuração de conexão e identificação do DB
conexao.ConnectionString = [Ô]DATABASE=OurWorkout[Ô]
conexao.Open()
If RadioButton1.Checked = True Then
comandos.CommandText = [Ô]SELECT * from Matricula where Nome_Usuario=[ô][Ô] + TextNome.Text + [Ô][ô]And Senha=[ô][Ô] + TextSenha.Text + [Ô][ô] And Privilegio =1[Ô]
pvl = True
Else
comandos.CommandText = [Ô]SELECT * from Matricula where Nome_Usuario=[ô][Ô] + TextNome.Text + [Ô][ô]And Senha=[ô][Ô] + TextSenha.Text + [Ô][ô] And Privilegio =0[Ô]
pvl = False
End If
[ô]---Configuração de conexão e identificação de DB
[ô]---Comandos para executar a verificação de Login
comandos.Connection = conexao
consulta = comandos.ExecuteReader()
[ô]---Comandos para execultar a verificação de login
[ô]---Condição de login e acesso
If consulta.HasRows Then
If pvl = True Then
AreadoProfessor.Show()
Me.Close()
ElseIf pvl = False Then
AreadoAluno.Show()
Me.Close()
End If
Else
MsgBox([Ô]Erro de login.[Ô] & Environment.NewLine & [Ô] Verifique seu Nome, Senha e Tipo de usuario e tente novamente.[Ô], MsgBoxStyle.Critical, [Ô]Erro de dados[Ô])
End If
[ô]---Condição de login e acesso
End Sub
2ª opção:
Dim conn As MySqlConnection
conexão com DB
conn = New MySqlConnection()
conn.ConnectionString = [Ô]database=Our Workout[Ô]
[ô] ve se a conexão falhou
Try
conn.open()
Catch myerror As MySqlException
MsgBox([Ô]Erro ao se conectar com o Banco de Dados[Ô])
End Try
[ô]sql query
Dim myAdapter As New MySqlDataAdapter
Dim sqlquery = [Ô]SELECT * FROM Matricula where Nome_Usuario = [ô][Ô] + TextNome.Text + [Ô][ô] AND Senha=[ô][Ô] + TextSenha.Text + [Ô][ô][Ô]
Dim myCommand As New MySqlCommand()
myCommand.Connection = conn
myCommand.CommandText = sqlquery
[ô]inicia query
myAdapter.SelectCommand = myCommand
Dim myData As MySqlDataReader
myData = myCommand.ExecuteReader()
[ô]ve se o usuario saiu
If myData.HasRows = 0 Then
MsgBox([Ô]Login Invalido[Ô])
Else
MsgBox([Ô]Login Aceito[Ô])
AreadoProfessor.Show()
Me.Hide()
End If
End Sub
Qual dos dois deveria usar e onde deveria acertar ?
PS: estou fazendo todos os imports necessarios
Ja usei dois codigos mas os dois estão com erros pra minha sorte hahaha , segue os dois abaixo:
Public pvl As Boolean = False
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
[ô]----Variaveis de conexão
Dim conexao As New MySqlConnection
Dim comandos As New MySqlCommand
Dim consulta As MySqlDataReader
[ô]---Variaveias de conexão
[ô]---Configuração de conexão e identificação do DB
conexao.ConnectionString = [Ô]DATABASE=OurWorkout[Ô]
conexao.Open()
If RadioButton1.Checked = True Then
comandos.CommandText = [Ô]SELECT * from Matricula where Nome_Usuario=[ô][Ô] + TextNome.Text + [Ô][ô]And Senha=[ô][Ô] + TextSenha.Text + [Ô][ô] And Privilegio =1[Ô]
pvl = True
Else
comandos.CommandText = [Ô]SELECT * from Matricula where Nome_Usuario=[ô][Ô] + TextNome.Text + [Ô][ô]And Senha=[ô][Ô] + TextSenha.Text + [Ô][ô] And Privilegio =0[Ô]
pvl = False
End If
[ô]---Configuração de conexão e identificação de DB
[ô]---Comandos para executar a verificação de Login
comandos.Connection = conexao
consulta = comandos.ExecuteReader()
[ô]---Comandos para execultar a verificação de login
[ô]---Condição de login e acesso
If consulta.HasRows Then
If pvl = True Then
AreadoProfessor.Show()
Me.Close()
ElseIf pvl = False Then
AreadoAluno.Show()
Me.Close()
End If
Else
MsgBox([Ô]Erro de login.[Ô] & Environment.NewLine & [Ô] Verifique seu Nome, Senha e Tipo de usuario e tente novamente.[Ô], MsgBoxStyle.Critical, [Ô]Erro de dados[Ô])
End If
[ô]---Condição de login e acesso
End Sub
2ª opção:
Dim conn As MySqlConnection
conexão com DB
conn = New MySqlConnection()
conn.ConnectionString = [Ô]database=Our Workout[Ô]
[ô] ve se a conexão falhou
Try
conn.open()
Catch myerror As MySqlException
MsgBox([Ô]Erro ao se conectar com o Banco de Dados[Ô])
End Try
[ô]sql query
Dim myAdapter As New MySqlDataAdapter
Dim sqlquery = [Ô]SELECT * FROM Matricula where Nome_Usuario = [ô][Ô] + TextNome.Text + [Ô][ô] AND Senha=[ô][Ô] + TextSenha.Text + [Ô][ô][Ô]
Dim myCommand As New MySqlCommand()
myCommand.Connection = conn
myCommand.CommandText = sqlquery
[ô]inicia query
myAdapter.SelectCommand = myCommand
Dim myData As MySqlDataReader
myData = myCommand.ExecuteReader()
[ô]ve se o usuario saiu
If myData.HasRows = 0 Then
MsgBox([Ô]Login Invalido[Ô])
Else
MsgBox([Ô]Login Aceito[Ô])
AreadoProfessor.Show()
Me.Hide()
End If
End Sub
Qual dos dois deveria usar e onde deveria acertar ?
PS: estou fazendo todos os imports necessarios
Boa noite,
Amigo, nem uma nem outra... Sua String de conexão esta errada, nelas você não informa, host, senha e usuario, esta informando apenas a base a ser utilizada.
Nesse LINK tem um exemplo de como utilizar uma classe de conexão com o mysql, na internet tem toneladas de exemplos, qualquer coisa é só pesquisar que você pode até encontrar exemplos melhores, esse aà achei com uma pesquisa bem rápida.
Outra dica, e utilizar uma classe de conexão de forma que ela possa ser enxergada por todo o programa. Da forma que está fazendo, vc vai colocar a string de conexão em cada procedimento, e isso é extramamente errado, você tem que criar a classe e em cada procedimento chamar essa classe, vamos supor o seguinte:
Você tem 30 form e 3 procedimentos em cada: Inserir, excluir, Atualizar, ou seja, você terá 120 procedimentos, ai você muda a senha do banco.... Já pensou ter que mudar a senha em 120 lugares? Utilizando uma classe você pode reaproveitar uma única conexão em todo o programa, daà basta mudar a senha na classe e pronto.
Amigo, nem uma nem outra... Sua String de conexão esta errada, nelas você não informa, host, senha e usuario, esta informando apenas a base a ser utilizada.
Nesse LINK tem um exemplo de como utilizar uma classe de conexão com o mysql, na internet tem toneladas de exemplos, qualquer coisa é só pesquisar que você pode até encontrar exemplos melhores, esse aà achei com uma pesquisa bem rápida.
Outra dica, e utilizar uma classe de conexão de forma que ela possa ser enxergada por todo o programa. Da forma que está fazendo, vc vai colocar a string de conexão em cada procedimento, e isso é extramamente errado, você tem que criar a classe e em cada procedimento chamar essa classe, vamos supor o seguinte:
Você tem 30 form e 3 procedimentos em cada: Inserir, excluir, Atualizar, ou seja, você terá 120 procedimentos, ai você muda a senha do banco.... Já pensou ter que mudar a senha em 120 lugares? Utilizando uma classe você pode reaproveitar uma única conexão em todo o programa, daà basta mudar a senha na classe e pronto.
tem um exemplo aqui LOGIN
Faça seu login para responder