0

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" を宣言する必要があります。

よろしくお願いします。

4

1 に答える 1

1

あなたは正しい軌道に乗っていますが、パラメーターのプレースホルダーを @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)";  
于 2016-02-09T00:18:55.937 に答える