I do not update with Update

1

I am trying to modify a password based on a textbox. Pass the code but do not update the database.

                string conexion = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Resources\Atreus_bbdd.mdf;Integrated Security=True";
                using (SqlConnection con = new SqlConnection(conexion))
                {
                    con.Open();
                    string update = "UPDATE Users SET [Password]= @pass WHERE [Usuario]= @user AND [DNI]= @dni AND [Email]= @Email";
                    SqlCommand cmd = new SqlCommand(update, con);
                    cmd.Parameters.AddWithValue("@user", tb_usuario.Text);
                    cmd.Parameters.AddWithValue("@dni", tb_dni.Text);
                    cmd.Parameters.AddWithValue("@Email", tb_email.Text);
                    cmd.Parameters.AddWithValue("@pass", tb_pass1.Text);
                    con.Close();
                    MessageBox.Show("Contraseña modificada por: ' " + tb_pass1.Text + " '", "Atreus - Modificado", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                this.Hide();
                Login.main_login form = new Login.main_login();
                form.Show(); 

I hope you can help me out.

Thanks in advance

    
asked by S.Carrillo 14.08.2018 в 08:48
source

1 answer

1

As I said in the comment, you still have to execute the query. I leave the code:

 string conexion = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Resources\Atreus_bbdd.mdf;Integrated Security=True";
            using (SqlConnection con = new SqlConnection(conexion))
            {
                con.Open();
                string update = "UPDATE Users SET [Password]= @pass WHERE [Usuario]= @user AND [DNI]= @dni AND [Email]= @Email";
                SqlCommand cmd = new SqlCommand(update, con);
                cmd.Parameters.AddWithValue("@user", tb_usuario.Text);
                cmd.Parameters.AddWithValue("@dni", tb_dni.Text);
                cmd.Parameters.AddWithValue("@Email", tb_email.Text);
                cmd.Parameters.AddWithValue("@pass", tb_pass1.Text);
                cmd.ExecuteNonQuery(); // Esta linea es la que te falta en tu código
                con.Close();
                MessageBox.Show("Contraseña modificada por: ' " + tb_pass1.Text + " '", "Atreus - Modificado", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            this.Hide();
            Login.main_login form = new Login.main_login();
            form.Show(); 

Greetings.

    
answered by 14.08.2018 / 09:09
source