从我从textbox1、textbox2获得的输入中,我想检查数据库,如果给定的用户名和密码组合可用,那么我想用textbox3中的可用输入更新密码。以下是我的代码,但我的更新语句似乎无法正常工作,请帮我纠正它...
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>");
}
}
最佳答案
您正尝试通过调用 ExecuteNonQuery
两次来更新密码。在第一次调用 ExecuteNonQuery
时,它将返回 1
,该值不会被收集,当您第二次调用 ExecuteNonQuery
时,它将返回 0
,因此它将始终执行 else
部分。
进行以下更改 -
int updateCount = cmd1.ExecuteNonQuery();
if (updateCount > 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>");
}
关于c# - C#、sql中的更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17008043/