Fórum Erro de Login com MySQL #466153
07/01/2014
0
Meu método para realizar Login:
public static void login (clsLogin log, frmPrincipal principal)
{
using(MySqlConnection conexaoMySQL = clsBanco.getInstancia().getConexao())
{
try
{
string mSQL = "SELECT count(*) FROM USUARIOS WHERE USUARIO=@usuario AND SENHA=@senha";
MySqlCommand cmd = new MySqlCommand(mSQL, conexaoMySQL);
cmd.Parameters.Add("@usuario",MySqlDbType.VarChar).Value = log.Usuario;
cmd.Parameters.Add("@senha", MySqlDbType.VarChar).Value = log.Senha;
conexaoMySQL.Open();
int i = (int)cmd.ExecuteScalar();
if (i > 0)
{
principal.Enabled = true;
principal.Show();
}
else
{
MessageBox.Show("Usuario/Senha estão inválidos.", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Question);
}
}
catch (FbException ex)
{
throw ex;
}
finally
{
conexaoMySQL.Close();
}
}
Agora a ação de Clique do meu botão entrar:
private void btnEntrar_Click(object sender, EventArgs e)
{
try
{
clsLogin login = new clsLogin();
frmPrincipal p = new frmPrincipal();
login.Usuario = txtUsuario.Text;
login.Senha = txtSenha.Text;
clsBanco.login(login, p);
p.Label(txtUsuario.Text);
if (p.Enabled == true)
{
Visible = false;
}
else
{
}
}
catch (Exception erro)
{
MessageBox.Show("Erro de conexão com banco de dados" + erro.Message, "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Question);
}
}
Raniel Gomes
Curtir tópico
+ 0Posts
07/01/2014
Raniel Gomes
Gostei + 0
08/01/2014
Raniel Gomes
Gostei + 0
08/01/2014
Leandro Chiodini
Cara depura o codigo e ve se a linha que esta dando o erro é na linha 13.
e posta ai.
Acho que esse Cast que tais fazendo de (int) é o problema.
att
Chiodini
Gostei + 0
08/01/2014
Leandro Chiodini
o seguinte
MySqlDataReader reader = cmd.ExecuteReader(); int res = reader.GetInt16(0);
Att
Chiodini
Gostei + 0
08/01/2014
Aluisio Cavalcante
Gostei + 0
09/01/2014
Leandro Chiodini
O erro da pois ele nao consegue converter o arquivo para um inteiro explicitamente desta forma.
Precisaria usar o Convert.Int16();
Mais se nao for nessa linha.,
mostra a linha certinha que esta ocorrento o erro.
pelo Debug da pra ter ideia.
att,
Chiodini
Gostei + 0
09/01/2014
Leandro Chiodini
por isso esta impedindo a conexao com o banco.
att,
Chiodini
Gostei + 0
09/01/2014
Raniel Gomes
Gostei + 0
09/01/2014
Leandro Chiodini
Então seria interessante você destacar a linha que ocorre o erro na execução.
Coloca um Breakpoint no metodo e depura ele.
att,
Chiodini
Gostei + 0
09/01/2014
Leandro Chiodini
Então seria interessante você destacar a linha que ocorre o erro na execução.
Coloca um Breakpoint no metodo e depura ele.
att,
Chiodini
Gostei + 0
09/01/2014
Raniel Gomes
int i = Convert.ToInt16(cmd.ExecuteScalar());
Obrigado a todos, abraço.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)