在Sqlserver 中sql带参数的写法

问题描述


为了防止sql注入,我们通常会选择参数化的方法查询。在这个过程中,发现使用like 语句时,不能像直接的查询一样。否则,整个程序会出错。

解决方案


  • 错误的写法
    不能在SQL语句上带入匹配符
stirng keyvalue=request["keyvalue"];
string sql="select 字符 from 表 where 字段 like '%'@keyvalue%'";
SqlParameter p1=new SqlParameter("@keyvalue", "%" + keyvalue+"%");
  • 正确的写法
    要在SqlParameter中带入匹配符
stirng keyvalue=request["keyvalue"];
string sql = "select 字段 from 表 where 字段 like @keyvalue";
SqlParameter p1 = new SqlParameter("@keyvalue", "%" + keyvalue+"%");

原文地址:https://www.cnblogs.com/ZengJiaLin/p/11352926.html