2014-06-23 26 views
1

我做的簡單delete操作......在SQL Server Profiler中產生的這個查詢顯示:必須聲明標量變量 「@」

DELETE FROM OCRDecibel 
WHERE ConsumerLocation = @ConsumerLocation, Level = @Level, 
MaxdbLevelObserved = @MaxdbLevelObserved, City = @City', 
N'@ConsumerLocation nvarchar(40), @Level nvarchar(7), @MaxdbLevelObserved nvarchar(2), @City nvarchar(8)', 
@ConsumerLocation = N'Walk near Majestic(Railway station area)', 
@Level = N'Level 2', @MaxdbLevelObserved = N'84', @City = N'BANGLORE' 

這是投擲2個錯誤:

消息137,Level 15,State 2,Line 1
必須聲明標量變量「@ConsumerLocation」。
消息105,級別15,狀態1,行5
字符串「'後面未使用引號。

我已經通過代碼..並在SQL上運行查詢。還是同樣的問題..我不明白我的思念在那裏..

這是我的DAL代碼:

private const string DEL_HW = 
      @"DELETE FROM OCRDecibel WHERE [email protected],[email protected],[email protected],[email protected]"; 

**************** 

using (SqlCommand cmd = conn.CreateCommand()) 
       { 
        cmd.CommandText = DEL_HW; 
        cmd.CommandType = CommandType.Text; 
        cmd.CommandTimeout = Configuration.TimeOutSeconds; 
        cmd.Parameters.AddWithValue("@ConsumerLocation", consumerLocation); 
        cmd.Parameters.AddWithValue("@Level", level); 
        cmd.Parameters.AddWithValue("@MaxdbLevelObserved", maxdbLevelObserved); 
        cmd.Parameters.AddWithValue("@City", city); 

        conn.Open(); 
        cmd.ExecuteNonQuery(); 
        cmd.Dispose(); 
        conn.Close(); 
       } 
      } 
      return returnval; 
     } 

任何建議將是有益的......

回答