C# 模糊查询SqlParameter
这是我最开始写的
//查询分页数据的sql语句StringBuilder sql = new StringBuilder("select * from (select *,ROW_NUMBER() over(order by EN_Role_ID) ROW_ID from EN_Role");SqlParameter[] p = new SqlParameter[]{new SqlParameter("@name",name)};//如果这里这样写,SqlCommand执行的时候会无法识别参数,//会直接把sql语句也构建成like ‘%@name%’sql.Append(" where EN_Role_Name like '%@name%'");
然后去百度,看到如下写法,感觉有用
SqlParameter[] p = new SqlParameter[]{new SqlParameter("@name","'%"+name+"%'")};sql.Append(" where EN_Role_Name like @name");
不过还是没用,最后只能再去找找,然后就看到了正解,原文链接
SqlParameter[] p = new SqlParameter[]{new SqlParameter("@name",name)};sql.Append(" where EN_Role_Name like N'%'+@name+'%'");