前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sql模糊匹配中%、_的处理

sql模糊匹配中%、_的处理

作者头像
guokun
发布2020-09-03 15:41:44
1.5K0
发布2020-09-03 15:41:44
举报
文章被收录于专栏:销声匿迹

防sql注入之模糊匹配中%、_处理:

代码语言:javascript
复制
        StringBuilder sbSql = new StringBuilder();
             sbSql.Append(@"SELECT * from tablename t where 1 = 1 ");     
             string name = dictparameters["Name"].ToString();    //Name参数值
                if(name.Contains("%") || name.Contains("_"))
                {
                    name = name.Replace("%", "/%").Replace("_", "/_");
                    sbSql.AppendFormat(@" AND t.Name like '%{0}%' ESCAPE '/'", name);
                }
                else
                {
                    sbSql.AppendFormat(@" AND t.Name like '%{0}%'", name);
                }

上述采用的是拼接字符串,现改为参数化,防止sql注入:

代码语言:javascript
复制
       StringBuilder sbSql = new StringBuilder();
            sbSql.Append(@"SELECT * from tablename t where 1 = 1 ");
            string name = dictparameters["Name"].ToString();    //Name参数值
            if (name.Contains("%") || name.Contains("_"))
            {
                name = name.Replace("%", "/%").Replace("_", "/_");
                sbSql.Append(@" AND t.Name like '%' + @Name+ '%' + ESCAPE '/'");
            }
            else
            {
                sbSql.Append(@" AND t.Name like '%' + @Name+ '%'");
            }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-09-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档