2013-03-26 56 views
-1

我嘗試做C#SQL如果查詢

var sql = String.Format("if ({0} > (select sStrength from yCell where Cell_ID = '{1}')) begin UPDATE yCell SET sStrength = {0} WHERE Cell_ID = '{1}' end", inMaxStrength, inCellID); 
        SqlCeCommand myCommand = new SqlCeCommand(sql,connection); 
        myCommand.ExecuteNonQuery(); 

有一個錯誤:令牌行號= 1,令牌行偏移= 1,令牌錯誤=如果 但是在SQL工作室運行良好。

+0

明顯的問題是你傳遞什麼。但是,我建議使用2個參數創建一個存儲過程並以這種方式進行,除了這麼做的理由之外,它會給您一個更有意義的錯誤。 – RandomUs1r 2013-03-26 23:14:14

回答

1

不能說失敗的原因,但我可以建議你可以嘗試在一個命令更新:

UPDATE yCell SET sStrength = {0} WHERE Cell_ID = '{1}' AND {0} > sStrength

+0

tnx!這樣可行 – user2213608 2013-03-27 00:43:05