我想将文本框的值更新到我的SQL Server数据库中。
代码没有显示任何语法错误,并且很容易重定向到我正在重定向的页面,但数据库仍未更新其中的新数据。
conn.Open();
string str_id = Session["userid"].ToString();
int id = Convert.ToInt32(str_id);
id = Int32.Parse(str_id);
string updatequery = "Update empdata set fname='" + updatename.Text + "',education='" + updateeducation.Text + "',position='" + updateposition.Text + "',email='" + updateemail.Text + "',address='" + updateaddress.Text + "',contact='" + updatecontact.Text + "',account='" + updateaccount.Text + "',postal='" + updatepostal.Text + "',password = '" + updatepwd.Text + "' Where id = '" +id.ToString()+ "'";
SqlCommand updateinfo = new SqlCommand(updatequery, conn);
updateinfo.ExecuteNonQuery();
updateinfo.Dispose();
updationmessage.Text="<p style='color:green;'>Information updated successfully</p>";
答案 0 :(得分:3)
首先,切换到ParameterBinding,你的代码容易出现sql inection(和更慢)
其次,检查ExecuteNonQuery
的返回值。如果它为0,则数据库中没有变化,这意味着没有找到匹配的ID
第三,检查您是否在需要提交交易的交易中 - 否则您将不会在数据库中看到任何内容。