none
Login e Senha Duvidas com validação banco de dados

    Question

  •  string login,senha;
                login = tbLogin.Text;
                senha = tbSenha.Text;
                
                  SqlConnection com = new SqlConnection(conexao); 
                  SqlDataAdapter adapter = new SqlDataAdapter("select tec_login, tec_senha from Cad_Tecnico", com);
                  DataSet ds = new DataSet();
                  adapter.Fill(ds, "a");
                  DataTable dt = ds.Tables[0];
                  DataRow row = dt.NewRow();
                  com.Open();
    Pessoal fiz o seguinte código acima.
    Meu intuito é assim que o usuario digite login e senha no programa, aconteça uma validação junto ao banco de dados, caso bata os logins com as respectivas senhas entre em uma outra tela, caso contrário apareça uma mensagem de erro.

    obs:  As informações login e senha ja estão cadastradas no banco de dados.
    Aguardo ajuda obrigado.
    Wednesday, July 22, 2009 6:47 PM

Answers

  • olá,
    tenta desta forma:

    SqlConnection objCon = new SqlConnection(@"conexao");
    objCon.Open();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = objCon;
    cmd.CommandText = "select tec_login, tec_senha from Cad_Tecnico where tec_login = @tec_login and tec_senha = @tec_senha";
    cmd.Parameters.Add("@tec_login",SqlDbType.VarChar);
    cmd.Parameters["@tec_login"].Value = tbLogin.Text;
    cmd.Parameters.Add("@tec_senha",SqlDbType.VarChar);
    cmd.Parameters["@tec_senha"].Value = tbSenha.Text;
    SqlDataReader dr = cmd.ExecuteReader();
    bool bTemLinhas = dr.HasRows;
    dr.Close();
    objCon.Close();
    if(bTemLinhas)
    {
     //Vai para proxima tela
    }
    else   
     //lblMensagem.Text = "Usuário ou senha não codastrados.";//Exibir Mensagem

     

    • Marked as answer by leonvian Thursday, July 23, 2009 12:40 PM
    Wednesday, July 22, 2009 9:22 PM

All replies

  • olá,
    tenta desta forma:

    SqlConnection objCon = new SqlConnection(@"conexao");
    objCon.Open();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = objCon;
    cmd.CommandText = "select tec_login, tec_senha from Cad_Tecnico where tec_login = @tec_login and tec_senha = @tec_senha";
    cmd.Parameters.Add("@tec_login",SqlDbType.VarChar);
    cmd.Parameters["@tec_login"].Value = tbLogin.Text;
    cmd.Parameters.Add("@tec_senha",SqlDbType.VarChar);
    cmd.Parameters["@tec_senha"].Value = tbSenha.Text;
    SqlDataReader dr = cmd.ExecuteReader();
    bool bTemLinhas = dr.HasRows;
    dr.Close();
    objCon.Close();
    if(bTemLinhas)
    {
     //Vai para proxima tela
    }
    else   
     //lblMensagem.Text = "Usuário ou senha não codastrados.";//Exibir Mensagem

     

    • Marked as answer by leonvian Thursday, July 23, 2009 12:40 PM
    Wednesday, July 22, 2009 9:22 PM
  • olá,

    Se me permite, vou lhe dar outra sugestão:

    SqlConnection com = new SqlConnection(conexao);
    SqlCommand cmd = new SqlCommand("select cout(1) from Cad_Tecnico where tec_login = @login and tec_senha = @senha", com);
    cmd.Parameters.AddWithValue("@login", login);
    cmd.Parameters.AddWithValue("@senha", senha);
    com.Open();
    if (cmd.ExecuteScalar().ToString() == "1")
    {
       // login correto
    }
    else
    {
       // login errado
    }
    com.Close();

    Assim você testa se o login e senha existem no banco.

    []s,
    Carlos dos Santos - cdssoftware.spaces.live.com
    Wednesday, July 22, 2009 9:43 PM
  • Abaixo segue um exemplo utilizando DataSet, porem seria mais acontecelhavel utilizar um SqlDataReader  ou ExecuteScalar seria mais leve que o exemplo abaixo.. porem vai de sua preferencia e necessidade. Espero ter ajudado

    //cria a conexão
    SqlConnection com = new SqlConnection(conexao);
    
    //cria a instrução de consulta ao banco
    string query = "select * from Cad_Tecnico where tec_login = '" + tbLogin.Text +"' and tec_senha = '"+tbSenha.Text+"'";
    
    //cria o objeto command
    SqlDataAdapter adapter = new SqlDataAdapter(query, com);
    
    //instancia o dataset
     DataSet ds = new DataSet();
    
    //preenche o dataset
    adapter.Fill(ds, "a");
    
    if(ds.table[0].Rows.Count >0)
    {
         //Usuario encontrado
    }
    else
    {
       MessageBox.Show("Login/Senha inválido");
    
    }
    

    Rogers Mahershalal
    Thursday, July 23, 2009 12:21 AM
  • pessoal muito obrigado.
    Deu certinho aki.
    agradeço a ajuda de todos...
    Thursday, July 23, 2009 12:40 PM
  • Já faz muito tempo este post, porém tenho um jeito bem legal também é bom pois eu mesmo tive duvidas hoje na hora de criar:

    string banco = "";
                    banco = "Server=GUILHERME\\NEXCODE;DATABASE=Loja;UID=sa;PWD=NEXCODE";
    
                    SqlConnection cx = new SqlConnection();
                    cx.ConnectionString = banco;
                    cx.Open();
    
                    DataTable dtUsuario = new DataTable();
                    DataTable dtSenha = new DataTable();
    
                    string sql = "";
                    sql += " SELECT Usuario FROM Usuarios ";
                    sql += " WHERE Usuario = '" + txtUsuario.Text + "' ";
    
                    string sql2 = "";
                    sql2 += " SELECT Senha FROM Usuarios ";
                    sql2 += " WHERE Senha = '" + txtSenha.Text + "' ";
    
                    SqlDataAdapter daUsuario = new SqlDataAdapter(sql, cx);
                    daUsuario.Fill(dtUsuario);
    
                    SqlDataAdapter daSenha = new SqlDataAdapter(sql2, cx);
                    daSenha.Fill(dtSenha);
    
                    if (dtUsuario.Rows.Count != 1 && dtSenha.Rows.Count == 1)
                    {
                        lblStatusUsuario.Text = "Introduza um Usuário válido!";
                        status = "Usuário " + txtUsuario.Text + " não é possivel entrar";
                    }
                    else if (dtUsuario.Rows.Count == 1 && dtSenha.Rows.Count != 1)
                    {
                        lblStatusSenha.Text = "Introduza uma Senha válida!";
                        status = "Usuário " + txtUsuario.Text + " não é possivel entrar";
                    }
                    else if (dtUsuario.Rows.Count != 1 || dtSenha.Rows.Count != 1)
                    {
                        lblStatusUsuario.Text = "Introduza um Usuário válido!";
                        lblStatusSenha.Text = "Introduza uma Senha válida!";
                        status = "Usuário " + txtUsuario.Text + " não é possivel entrar";
                    }
                    else
                    {
                        lblStatusUsuario.Text = "Usuário e Senha OK";
                        lblStatusSenha.Text = "Usuário Conectado";
                        status = "Usuário " + txtUsuario.Text + " encontrado";
                    }

    Obrigado =F


    Atenciosamente, Guilherme. Caso esta resposta foi útil, por favor, marque como mesma.

    Tuesday, March 20, 2012 5:12 PM