2016-09-18 15 views
1

が働いてSQLステートメントの:パラメータを指定したUPDATE文の構文は?ここで

DECLARE @LayOdds DEC = 1.5 
DECLARE @Umarketiduselectionid VARCHAR(50) = '1.12677402748783' 

UPDATE [dbo].[Fixtures] 
SET [Fixtures].[Percent] = [Fixtures].[BackOdds]/@LayOdds * 100 - 100 
WHERE [Fixtures].[MarketSelectionId] = @Umarketiduselectionid 

ここに私の間違ったC#ステートメントです:

string sql = "Update Fixtures SET Percent = BackOdds/@LayOdds * 100 - 100 WHERE MarketSelectionId = @Umarketiduselectionid"; 

using (var cmd = new SqlCommand(sql, con)) 
{ 
    cmd.Parameters.Add("@LayOdds", SqlDbType.Decimal).Value = layOdds; 
    cmd.Parameters.Add("@Umarketiduselectionid", SqlDbType.VarChar).Value = umarketiduselectionid; 
    con.Open(); 
    cmd.ExecuteNonQuery(); 
} 

キーワード 'パーセント' 付近に不適切な構文を取得します。

+1

「パーセント」は予約語です。 '[Percent]'を試してみてください。 –

+1

数値を文字列として渡すのはなぜですか? –

+0

ジムありがとう - きれいに働いた。私がその列を 'パーセント'として定義したときに、それが行のばかに沿ってどこかで矛盾するかもしれないという感情を持っていました。 Gordonにコメントしているように、それを見つけて編集しました。 – user6063812

答えて

1

上記のJim Hewittが親切に回答しました。どうもありがとう。

パーセントは予約語です。 [パーセント]を試してください。

関連する問題