입력란에서 textbox1, textbox2에서 DB를 확인하고 주어진 사용자 이름과 암호 조합을 사용할 수 있는지 확인한 다음 textbox3에서 사용할 수있는 입력으로 암호를 업데이트하려고합니다. 당신은 두 번 ExecuteNonQuery
를 호출하여 두 번 암호를 업데이트하려고C#, SQL의 업데이트 문
protected void Button1_Click(object sender, EventArgs e)
{
MySqlConnection connection = new MySqlConnection("server=localhost; database=e-learningsystem; uid=root; password=123;port=3307;");
connection.Open();
try
{
MySqlCommand cmd1 = new MySqlCommand("UPDATE lecturer Set Password= '" + TextBox3.Text + "' WHERE UserName='" + TextBox1.Text + "' AND Password='" + TextBox2.Text + "'", connection);
cmd1.ExecuteNonQuery();
if (cmd1.ExecuteNonQuery() > 0)
{
Response.Write(@"<script language='javascript'>alert('Your Password Has Been Changed successfully!, Congratulations!')</script>");
}
else
{
Response.Write(@"<script language='javascript'>alert('Your Password Has Not Been Changed successfully!, Sorry!')</script>");
}
connection.Close();
}
catch (Exception ex)
{
Response.Write(@"<script language='javascript'>alert(ex.Message)</script>");
}
}
Eugh. "SQL 주입", google, 진지하게. 시스템이 위험합니다. 지금 당장, 암호를 변경하여 데이터베이스를 파괴 할 수있었습니다. –
그런 다음 일반 텍스트 비밀번호 저장에 대해 읽어보십시오. 비밀번호를 저장하면 안됩니다. 당신은 그들을 암호화해서는 안됩니다. 패스워드의 소금에 절인 해시 *를 적용해야하며 (이상적으로는 사용자 별 소금을 사용하는 것이 가장 이상적입니다.) 해시를 ** 저장하십시오. –
지금 : 원래의 질문에 대한 과장된 말 : "제대로 작동하지 않는다"는 것은 무엇을 의미합니까? 무슨 일이야? 그렇지 않습니까? –