参数占位符导致 Webmatrix 中出现错误

Parameter Placeholders are causing an error in Webmatrix

每次我尝试在 WebMatrix 的 SELECT、INSERT 或 UPDATE 语句中使用参数占位符时,我都会遇到相同的错误。它在 WHERE 子句中工作正常。我做错了什么我需要一些帮助。

这是我的代码:

  if (IsPost && Validation.IsValid())
        {  
           Admission1 = Request["AdmDate1"];
           Discharge1 = Request["DisDate1"];
           LOC1 = Request["LOC1"];
           Program1 = Request["ProgramName1"];
           Notes = Request["Notes"];           
           var SQLUPDATE = "UPDATE SSI_Screening_New SET AdmissionDate1=@49, DischargeDate1=@50,  LOC1=@51, ProgramName1=@52, Notes1=@53 WHERE (ID) = (@0)";  
           db.Execute(SQLUPDATE, Admission1, Discharge1, LOC1, Program1, Notes, SSId);

           if (ModelState.IsValid) 
           {     
              Response.Redirect("~/ThankYou");
           }             
        }

是否有在 Webmatrix 中使用参数占位符的替代方法?

这是我每次得到的错误:

异常详细信息:System.Data.SqlClient.SqlException:必须声明标量变量“@49”。

在此先感谢您的帮助!

您的方向是正确的,但您的参数占位符必须从@0 开始,然后是@1、@2、@3...等等。您不能跳转到 @49,这就是为什么它说您必须声明该变量。尝试使用 @0 到 @5,它会起作用。

           var SQLUPDATE = "UPDATE SSI_Screening_New SET AdmissionDate1=@0, DischargeDate1=@1,  LOC1=@2, ProgramName1=@3, Notes1=@4 WHERE (ID) = (@5)";