在c#中使用“%”运算符执行sql删除查询

时间:2014-10-12 12:35:22

标签: c# sql

我试图删除一个给出一列值的行,但它只在我给出完整值时删除(即name column = sam jack)然后删除它我必须输入sam jack。 所以我试图使用%运算符,但不知道如何将它放在查询中。 这是我的代码:

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

2 个答案:

答案 0 :(得分:5)

你做错了。

也使用parameterized queries

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

或者,如果您只想删除字符串的开头,请不要先使用%;

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

答案 1 :(得分: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, '%')";