0
我有一个简单的表格上的数据更新如下代码:动态更新SQL查询不变量工作
protected void BUpdate_Click(object sender, EventArgs e)
{
i = Convert.ToInt32(Sid.Text);
comm = "UPDATE tblStaff SET Name = @sname, Gender = @sex, Phone = @phone, Address = @address, Position = @position, Salary = @salary WHERE (ID = @id)";
cmd = new SqlCommand(comm, cn);
cmd.Parameters.AddWithValue("@id", i);
cmd.Parameters.AddWithValue("@sname", Sname.Text);
cmd.Parameters.AddWithValue("@sex", DropDownList1.Text);
cmd.Parameters.AddWithValue("@position", Sposition.Text);
cmd.Parameters.AddWithValue("@salary", Ssalary.Text);
cmd.Parameters.AddWithValue("@address", Saddress.Text);
cmd.Parameters.AddWithValue("@phone", Sphone.Text);
r = cmd.ExecuteNonQuery();
if (r > 0)
{
ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Success')</script>");
}
else
{
ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Failed')</script>");
}
}
当我代替“i”的:
cmd.Parameters.AddWithValue("@id", i);
代码完美运行,但是当我使用变量时,它会引发错误。
我已经尝试使用Sid.Text
和Convert.toInt32(Sid.text)
来代替“我”,但都没有工作。
请帮忙。
你应该阅读这篇文章。 http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/ –