2014-09-03 6 views
0

я пытаюсь ниже запрос, но я получаю сообщение об ошибке, как неверный синтаксис при SqlDataReader считывателем = command.ExecuteReader .. пожалуйста, поправьте меня, где я неправильноОшибка SQL запрос неправильный синтаксис

string querystring = "SELECT ImageName FROM dbo.ProfilePic WHERE UserName = @UserName & IsActive = 'Y' order by ID Desc"; 
      SqlCommand command = new SqlCommand(querystring, con); 
      command.Parameters.AddWithValue("@UserName", Session["UserName"].ToString()); 


      con.Open(); 
      SqlDataReader reader = command.ExecuteReader(); 
      while (reader.Read()) 
      { 
       Console.WriteLine(String.Format("{0}", 
      reader[0])); 

       ViewBag.ProfilePic = reader[0]; 
      } 

      reader.Close(); 

обновляется со всеми предложенными ответами

+1

изменить все == to = в вашем запросе, например. UserName == @UserName – Abhishek

+0

, и между «order» и «by» должно быть пробел. – toddlermenot

+0

, и я не уверен, что оператор «&&» тоже прав. Это должно быть «И». – toddlermenot

ответ

0

SQL не нуждается в двойных равных знаках.

SELECT ImageName FROM dbo.ProfilePic WHERE Username = @UserName 
+0

извините друзей за поздний ответ .... со всеми вышеперечисленными изменениями я получаю ту же ошибку – kumar

+0

Все еще используя & vs А ТАКЖЕ. Вот SQL для использования, «SELECT ImageName FROM dbo.ProfilePic WHERE UserName = @UserName AND IsActive = 'Y' по идентификатору Desc" – jbrahy

+0

спасибо другу ... жаль раздражать вас, людей .. до сих пор я их написал в linq его причина для всей этой путаницы ... любым способом спасибо вам за вашу помощь – kumar

0

в SQL вам не нужно использовать двойной знак равенства для сравнения значений и && неправильно, то это не так:

string querystring = "select ImageName from dbo.ProfilePic where UserName == @UserName && IsActive == 'Y' order by ID descending"; 

и это верно:

string querystring = "select ImageName from dbo.ProfilePic where UserName = @UserName AND IsActive = 'Y' order by ID desc"; 
+0

orderby должен быть заказан –

+0

@NishanthiGrashia, спасибо – Farrokh

0
  string querystring = "select ImageName from dbo.ProfilePic where UserName =  
      @UserName AND IsActive = 'Y' order by ID DESC"; 
      // on sql compare oprator not need to '==' sign 
      SqlCommand command = new SqlCommand(querystring, con); 
      command.Parameters.AddWithValue("@UserName", Session["UserName"].ToString()); 
       con.Open(); 
       SqlDataReader reader = command.ExecuteReader(); 
       while (reader.Read()) 
       { 
        Console.WriteLine(String.Format("{0}", 
       reader[0])); 
       // when you assign reader value to any object you must assign while DataReader read not after DataReader close 
       ViewBag.ProfilePic = reader[0]; 

       } 

       reader.Close(); 

EDIT try

string querystring = "select ImageName from dbo.ProfilePic where UserName like '@UserName' AND IsActive = 'Y' order by ID DESC";  
+0

жаль друга за поздний ответ .... со всеми вышеперечисленными изменениями я получаю та же ошибка – kumar