简体   繁体   English

在C#代码后面的LIKE SQl查询中转义单引号

[英]Escape single quote in LIKE SQl Query in C# code behind

I have a query that looks like this. 我有一个看起来像这样的查询。

SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name LIKE 'Jo%'

But this does not work on C# code behind. 但这对后面的C#代码不起作用。 How do I escape the first single quote after LIKE? 如何在LIKE之后转义第一个单引号?

SqlDataAdapter da = new SqlDataAdapter("SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name  LIKE ' + @Search + '%'", cs);
da.SelectCommand.Parameters.AddWithValue("@Search",tbNameSearch.Text);

Your statement should be: 您的声明应为:

"SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name  LIKE @Search"

Then you can change the value of @Search:value: 然后,您可以更改@Search:value的值:

da.SelectCommand.Parameters.AddWithValue("@Search",tbNameSearch.Text + "%");

只是:

 ...LIKE @Search + '%' ";

Try this: 尝试这个:

"SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name LIKE '@Search%'"

The % might screw that up, I'm not sure. 我不确定%可能会搞砸。 Try removing the % first, and if the query works, add it back in to see if anything breaks. 尝试先删除% ,如果查询有效,则将其重新添加以查看是否有问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM