Как я делаю C# изменить код пароля
Я могу проверить свой пароль, и messagebox отражает пароль, успешно обновленный. Но моя база данных не обновлялась
Что я уже пробовал:
private void btnChangePW_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(constring); con.Open(); SqlCommand cmd = new SqlCommand("Select EmployeeID, Password From Employee WHERE EmployeeID='" + UserID + "' and Password='" + txtOldPW.Text + "'", con); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); errorProvider1.Clear(); if (dt.Rows[0][0].ToString() == "1") { if (txtNewPW.Text == txtConfirmPW.Text) { SqlCommand cmdQuery = new SqlCommand("Update Employee set Password='" + txtConfirmPW + "'where EmployeeID='" + UserID + "' and Password='" + txtConfirmPW.Text + "'"); MessageBox.Show("Password Successfully Updated!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { errorProvider1.SetError(txtNewPW, "Password not matched!"); errorProvider1.SetError(txtConfirmPW, "Password not matched!"); } } else { errorProvider1.SetError(txtOldPW, "Incorrect Password!"); }
F-ES Sitecore
Что происходит, когда вы проходите через код? По какому пути он идет, вы получаете исключения? Попробуйте заключить слово "пароль" в квадратные скобки, так как это может быть зарезервированное слово. Кроме того, используйте параметризованные запросы, поскольку ваш код открыт для атак SQL-инъекций, google for "ado.net параметризованные запросы sql-инъекции"