PROBLEMAS COM LOGIN NO MY SQL

GAHHSOUZA 15/05/2013 20:09:02
#423556
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
ALTAIR148 16/05/2013 20:22:46
#423615
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.
FELLIPEASSIS 16/05/2013 20:38:00
#423618
tem um exemplo aqui LOGIN
Faça seu login para responder