2012-04-24 8 views
0

私はRazor C#で2つの変数を追加したいと思います。このコードをRazor C#で動作させるにはどうすればよいですか?

そこで私はこの試みた:

var newpenpoints = result.PenaltyPoints + int.Parse(penalty); 

をしかし、私はそれが私がデータベースに数字を入れしようとするように動作していないと思う:

var sql5 = "UPDATE Permit SET [email protected], Disqualification = @1, LastAccidentDate = @2 WHERE CDSID = @3"; 
     var para1 = new{newpenpoints, disqualification, dateocc, empcdsid}; 
     db.Execute(sql5,para1); 
     Response.Redirect("~/AccidentConviction"); 

エラーエンありました:

CS0746: Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access. 

誰かが私のコードを修正して数学をする方法を知っていますか?

おかげ

+0

コントローラはありますか? – Shyju

+0

こんにちは...私はコントローラを書く方法を知らない...私はC#とwebmatrixに非常に新しいです – Panda

+0

どのようなプロジェクトですか? ASP.NET MVC/ASP.NET Webform? – Shyju

答えて

0

これは有効なコードではありません。

var para1 = new { newpenpoints, disqualification, dateocc, empcdsid }; 

これは、匿名型] 4つのフィールドを持つ1を作成しようとしているが、あなたは彼らに名を与えていません。タイプのこの種を作成するには、あなたが既に持っている他のオブジェクトからの値を持つフィールドを初期化するか、あるいは明示的に名前を付ける必要があり、次のいずれか

var para1 = new 
{ 
    NewPenPoints = newpenpoints, 
    Disqualification = disqualification, 
    Dateocc = dateocc, 
    Empcdsid = empcdsid 
}; 

しかし、再読み込み、あなたのサンプルコードを、それが本当に何をあなたを疑いますオブジェクトがのの配列が必要です。この場合、dbが何であるかはわかりませんが、Executestringとなり、パラメータはobject[]となります。その場合には、何が欲しいのです。これは、例えば、その中の値のリストを持つオブジェクトの新しい配列を作成します

var para1 = new[] { newpenpoints, disqualification, dateocc, empcdsid }; 

[]に注意してください。 para1[0] = newpenpointsなどI これは本当にやるべきことです。

+0

私はobjと思う。剃刀Cでdesnt仕事は...それを行う? – Panda

+0

私の例の 'obj'は、パラメータやLINQクエリの変数など、他のオブジェクトのプレースホルダです。要点は、匿名型の初期化に使用する前に、プロパティを* something *に属させる必要があることです。単にローカル変数の束をリストすることはできません。 –

0

匿名型を生成するコードにエラーがあります:

new{newpenpoints, disqualification, dateocc, empcdsid}; 

あなたは、変数(newpenpoints、失格、dateocc、empcdsid)の全てが内で宣言されていることを確認していますコンパイラエラーが生成されているコンテキスト?

関連する問題