У меня есть простой запрос с предложением where, который не дает результатов при запуске из кода.
Этот запрос работает нормально, если он запускается из среды SQL Server Management Studio, но когда я передаю некоторые переменные, которые взяты из параметров GET, этот запрос не даст результатов. Request.QueryString["q"]
не NULL
. Command.ExecuteReader();
выполняется хорошо.
Connection = new SqlConnection(ConnectionString);
Connection.Open();
Command = new SqlCommand("", Connection);
if (Request.QueryString["q"] != null)
{
Query = Request.QueryString["q"].ToString();
Command.CommandText = "SELECT * FROM [device] WHERE [display_name] LIKE N'%@query%' OR [address] LIKE N'%@query%' ";
Command.Parameters.AddWithValue("@query", Query);
Reader = Command.ExecuteReader();
while (Reader.Read())//Here Reader.HasRows=False
{
//Do Stuff
}
В таблице есть одна строка, у которой [display_name]
равно KHR
, а [address]
равно تست
.
Передав ?q=kh
на страницу, я не получаю результата от этого запроса, где он должен фактически вернуть одну строку.