Я делаю простую операцию 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, уровень 15, состояние 2, строка 1
Необходимо объявить скалярную переменную "@ConsumerLocation".
Сообщение 105, уровень 15, состояние 1, строка 5
Незакрытые кавычки после строки символов '' .
Я просмотрел код... и запустил запрос на SQL. все та же проблема .. я не мог понять, где я пропал ..
Это мой код DAL:
private const string DEL_HW =
@"DELETE FROM OCRDecibel WHERE ConsumerLocation=@ConsumerLocation,Level=@Level,MaxdbLevelObserved=@MaxdbLevelObserved,City=@City";
****************
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;
}
Любое предложение будет полезно...