asp.net 参数化的模糊查询
大家都知道SQL语句是酱紫的:
正常: select * from [User] where userName like '%admin%'
参数化: select * from [User] where userName like @userName
这样就查出了包括admin关键字的记录
就是这个简单的语句,在参数化的时候怎么也查不出来,去拼like后面的字符串拼成酱紫的:
错误: new SqlParameter("@userName", string.Format("%'{0}'%", userName));
错误: new SqlParameter("@userName", string.Format("'%{0}%'", userName));
正确: new SqlParameter("@userName", string.Format("%{0}%", userName));
注意对比红色字体的部分,就是多了一对单引号,就查不出来了…… 至于为啥?自己慢慢领悟吧,哈哈哈哈