none
Alteração da Pass no banco de dados access com C# RRS feed

  • Pergunta

  • Ao alterar a password do utilizador ele altera de tds os users do banco como faço para resolver isso?

    Segue o meu codigo:

    private void btalterar_Click(object sender, EventArgs e)
            {
                if (textBox1.Text == Autenticacao.Pass())
                {
                    if (textBox2.Text == textBox3.Text)
                    {
                        string con = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\DB.accdb; Persist Security Info=True";
                        string comando = "update users set  Senha=@pass";    // EU SEI QUE O ERRO É AQUI MAS NAO SEI COMO RESOLVER PRA SÓ MUDAR DO USER LOGADO NO MOMENTO.

                        OleDbConnection conn = new OleDbConnection(con);
                        OleDbCommand cmd = new OleDbCommand(comando, conn);

                        cmd.Parameters.Add("@pass", OleDbType.VarChar).Value = textBox2.Text;

                        try
                        {
                            conn.Open();
                            cmd.ExecuteNonQuery();
                            conn.Close();
                            MessageBox.Show("Password Alterada com sucesso.\nO programa será fechado para aplicar as novas defenições!\nInicie novamente após este fechar!");
                            Application.Exit();
                            //Close();
                            


                        }
                        catch (Exception er)
                        {
                            MessageBox.Show("Erro:\n" + er.Message, "Password não alterada!");
                        }
                    }
                    else
                    {
                        MessageBox.Show("As passwords novas são diferentes");
                    }
                }
                else
                {
                    MessageBox.Show("A password antiga está incorreta!", "Password Incorreta");
                }
            }


    • Editado SilvaPT segunda-feira, 10 de setembro de 2018 13:01
    segunda-feira, 10 de setembro de 2018 13:00

Respostas

  • Olá Silva!

    Você tem que pegar o Id ou o nome do usuário que querre alterar a senha e no teu comando sql usa o WHERE tipo assim:

     string comando = "update users set  Senha=@pass WHERE Id=? ";

    ou string comando = "update users set  Senha=@pass WHERE nome=? ";

    Espero que te foi útil caso sim, marque como resposta.

    • Marcado como Resposta SilvaPT segunda-feira, 10 de setembro de 2018 13:52
    segunda-feira, 10 de setembro de 2018 13:24

Todas as Respostas

  • Olá Silva!

    Você tem que pegar o Id ou o nome do usuário que querre alterar a senha e no teu comando sql usa o WHERE tipo assim:

     string comando = "update users set  Senha=@pass WHERE Id=? ";

    ou string comando = "update users set  Senha=@pass WHERE nome=? ";

    Espero que te foi útil caso sim, marque como resposta.

    • Marcado como Resposta SilvaPT segunda-feira, 10 de setembro de 2018 13:52
    segunda-feira, 10 de setembro de 2018 13:24
  • obrigado pela resposta mesmo isso que eu fiz e deu certo mt obrigado

    Já agora outra pergunta como faço para fazer uma pesquisa na tabela da base de dados de dentro do programa a ele me mostrar as pessoas conforme eu escrevo o nome na barra de pesquisa .

    • Editado SilvaPT segunda-feira, 10 de setembro de 2018 13:52
    segunda-feira, 10 de setembro de 2018 13:50
  • Bem, você pode usar o where no teu comando SELECT ou pode também usar o predicato LIKE no teu comando select. ex: SELECT nome FROM tabela WHERE id=? ou SELECT nome FROM tabela WHERE nome LIKE "%...%"

    Força!

    segunda-feira, 10 de setembro de 2018 15:56