2014-10-12 3 views
1

Я пытаюсь удалить строку, дающую значение столбца, но она удаляется только после того, как я даю полное значение (например, name column = sam jack), а затем удалить его я должен ввести sam jack. , поэтому я пытаюсь использовать оператор%, но не знаю, как поместить его в запрос. вот мой код:sql delete запрос с оператором «%» в C#

command.CommandText = "DELETE FROM dbo.workers WHERE Name like @name" + "%"; 

ответ

5

Вы делаете это неправильно.

Использовать parameterized queries также.

command.CommandText = "DELETE FROM dbo.workers WHERE Name like @name"; 
command.Parameters.AddWithValue("@name","%" + searchString + "%"); 

Или, если вы хотите удалить начинается только с вашей строки, не используйте первый % нравится;

command.Parameters.AddWithValue("@name", searchString + "%"); 
+0

Это очень понравилось –

2

Вы можете сцепить % и значение параметра в языке хоста, или вы можете сделать это в SQL:

command.CommandText = "DELETE FROM dbo.workers WHERE Name like @name+'%'"; 

В SQL Server 2012 можно использовать CONCAT быть более явным:

command.CommandText = "DELETE FROM dbo.workers WHERE Name like CONCAT(@name, '%')"; 
Смежные вопросы