身为一名小小的程序猿,在日常开发中不可以避免的要和where in和like打交道,在大多数情况下我们传的参数不多简单做下单引号、敏感字符转义之后直接拼进了SQL,执行查询,搞定。若有你不可避免的需要提高SQL的查询性能,需要一次性where in 几百、上千、甚至上万条数据时,参数化查询将是必然进行的选择。然而如何实现where in和like的参数化查询,是个让不少人头疼的问题。
where in 的参数化查询实现
首先说一下我们常用的办法,直接拼SQL实现,一般情况下都能满
按常规的思路,我们会这样写 代码如下:String searchName =”Sam”; String strSql = “select * FROM Table1 where Name like ‘%Name%’ “; SqlParameter[] parameters = { new SqlParameter(“Name”, searchName) }; 但结果是查询不到结果,跟踪代码也没有发现错误,又不想用字符串拼接的方式(防止攻击)。于是跟踪了Sql的执行,发现问题在于Sql给参数自动