如何解决ASP.NET 中的更新导致异常:“必须声明标量变量”
我正在尝试更新我的 Student
表中的某个记录,但是同样的异常不断弹出:
System.Data.sqlClient.sqlException: 必须声明标量变量“@sid”
if (conn.State == System.Data.ConnectionState.Closed)
{
conn.open();
String sid = txtSearch.Text;
sqlCommand cmd2 = new sqlCommand("UPDATE [Student] SET [Password] = @pass,[StudentName] = @studName,[Email] = @email,[PhoneNumber] = @number,[Faculty] = @faculty,[Course] = @course WHERE [StudentID] = @sid",conn);
cmd2.Parameters.AddWithValue("@pass",txtPassword.Text);
cmd2.Parameters.AddWithValue("@studName",txtStudentName.Text);
cmd2.Parameters.AddWithValue("@email",txtEmail.Text);
cmd2.Parameters.AddWithValue("@number",txtPhoneNum.Text);
cmd2.Parameters.AddWithValue("@faculty",ddlFaculty.SelectedValue);
cmd2.Parameters.AddWithValue("@course",ddlCourse.SelectedValue);
cmd2.ExecuteNonQuery();
Response.Write("<script>alert('Record updated successfully!')</script>");
conn.Close();
Clear();
}
解决方法
你错过了@sid param
if (conn.State == System.Data.ConnectionState.Closed)
{
conn.Open();
String sid = txtSearch.Text;
SqlCommand cmd2 = new SqlCommand("UPDATE [Student] SET [Password]=@pass,[StudentName]=@studName,[Email]=@email,[PhoneNumber]=@number,[Faculty]=@faculty,[Course]=@course
WHERE [StudentID]=@sid",conn);
cmd2.Parameters.AddWithValue("@pass",txtPassword.Text);
cmd2.Parameters.AddWithValue("@studName",txtStudentName.Text);
cmd2.Parameters.AddWithValue("@email",txtEmail.Text);
cmd2.Parameters.AddWithValue("@number",txtPhoneNum.Text);
cmd2.Parameters.AddWithValue("@faculty",ddlFaculty.SelectedValue);
cmd2.Parameters.AddWithValue("@course",ddlCourse.SelectedValue);
cmd2.Parameters.AddWithValue("@isid",sid); // <------
cmd2.ExecuteNonQuery();
Response.Write("<script>alert('Record updated successfully!')</script>");
conn.Close();
Clear();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。