주석 처리 된 항목을 보면 사용자 입력을 직접 쿼리에 추가하여이 작업을 쉽게 얻을 수 있지만 매개 변수화하려고 시도하면 값SqlCommmand 매개 변수가 UPDATE 문에 추가되지 않음 (C#, MVC)
이 코드는
테이블 변수 @formTable
정의해야 오류 던지고하지만 문제가되는 값의 어느 것도 첨가되지는 ... 파라미터에 추가되고 , 테이블 변수뿐만 아니라 (re에 의해 검증 됨) 테이블 이름 변수를 정적 텍스트와 함께 배치).
이 프로젝트에서 완벽하게 작동하는 것과 같은 구조의 insert 문이 많이 있습니다. 여기서 내가 뭘 잘못하고 있니?
string constr = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
//string query = "UPDATE " + s.formTable + " SET " + s.column + " = '" + s.cellValue + "' WHERE MasterID = '" + s.id + "'";
string query = "UPDATE @formTable SET @column = @cellValue WHERE MasterID = @id;";
using (SqlCommand cmd = new SqlCommand(query))
{
//SqlParameter param = new SqlParameter("@formTable", s.formTable);
//cmd.Parameters.Add(param);
cmd.Parameters.AddWithValue("@formTable", s.formTable);
cmd.Parameters.AddWithValue("@column", s.column);
cmd.Parameters.AddWithValue("@cellValue", s.cellValue.ToString());
cmd.Parameters.AddWithValue("@id", s.id.ToString());
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}