c#:使用任何字符执行sql LIKE搜索的正确方法是什么

P a*_*u l 0 c# sql

我正在使用LIKE%somestring%条件动态构建(c#)sql select命令字符串.在我的搜索字符串中,我希望能够处理在标准PC(美国)键盘上找到的任何字符(包括〜!@#%等,alt-special字符不是必需的,但会很高兴).我知道单引号需要加倍,也许双引号.可能需要哪些其他字符串修复才能确保正确的语法?

Ant*_*lev 5

无需修复:

SqlCommand cmd = new SqlCommand("select * from Foo where Bar like @p", connection);

SqlParameter p  = new SqlParameter();
param.ParameterName = "@p";
param.Value = pattern;

cmd.Parameters.Add(param);
Run Code Online (Sandbox Code Playgroud)