2015-12-27 3 views
0

Привет я теперь кодирования окна поиска, которые будут получать данные из SQL и проверить, есть ли какие-либо из этих данных, но когда я запускаю мой кодПочему мой ExecuteNonQuery всегда возвращать значение больше 0

public void checkValues() 
    { 
     using (connection = new SqlConnection(connectionString)) 
     using (SqlCommand cmdMovname = new SqlCommand("select Film_name from product where Film_name like'%the value here is not in the sql data %'", connection)) 
     { 
      connection.Open(); 

      if (cmdMovname.ExecuteNonQuery() != 0) 
      { 
       SetValues(); 
       find = "Search result for \"the value here is not in the sql data\""; 
      } 
      else if (cmdMovname.ExecuteNonQuery() == 0) 
      { 
       find = "Sorry , no search result for \"the value here is not in the sql data\""; 
      } 

     } 
    } 

строкового значение находки всегда будет «Англиск для \» значение здесь не в SQL Data \ «» может кто-то помочь мне с этой причиной я новичок в использовании базы данных SQL

+1

Поскольку возвращаемое значение 'ExecuteNonQuery' для оператора select всегда равно -1: https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery(v=vs. 110) .aspx. –

+1

Почему вы повторно выполняете запрос в 'else if' ?? –

ответ

2

Попробуйте использовать ExecuteReader вместо. Вы пытаетесь выполнить запрос, но используете функцию ExecuteNonQuery, которая вернет -1 в этой ситуации.

.

+0

Спасибо i dodnt знаю, что ExecuteNonQuery вернет -1 по умолчанию – Annonymous177