Setting value of parameter containing “ ' ” (apostrophe) used in LIKE query

前端 未结 3 1001
盖世英雄少女心
盖世英雄少女心 2021-01-22 02:04

I have the following query in ASP.NET/C# code which is failing to return any values using a parameter...

select * from MyTable where MyTable.name LIKE @search
         


        
3条回答
  •  太阳男子
    2021-01-22 03:07

    On the SQL side, this is correct:

    select * from MyTable where MyTable.name LIKE '%' + @search + '%'
    

    If the parameter was passed in from outside, it would not matter if it contained single quotes.

    On the API side, this should be correct:

    myCmd.Parameters.AddWithValue("@search", "%" + search + "%");
    

    The AddWithValue() method does all the necessary escaping for you, no need to interfere.

提交回复
热议问题