// 批量查询的 2019-05-14 if (!string.IsNullOrWhiteSpace(Request["userCodes"])){string userCodes = Request["userCodes"].Replace("\r", "").Replace(",", ",").Replace(" ", "").Trim('\n').Trim();userCodes = Regex.Replace(userCodes, "\n+", ",");string[] userCodeArry = userCodes.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);// 需要去重userCodeArry = userCodeArry.Distinct().ToArray();// In内容没有参数化 // List<string> listCode = new List<string>();//foreach (var item in userCodeArry)//{//    listCode.Add(SecretUtilitiesBase.SqlSafeOrderBy(item));//}//listCondition.Add(" CODE IN (" + BaseBusinessLogic.ObjectsToList(listCode.ToArray(), "'") + ")");// 2019-06-21  参数化改造,避免硬解析List<string> codeParameters = new List<string>();Dictionary<string, object> codeConditions = new Dictionary<string, object>();foreach (var code in userCodeArry){codeParameters.Add(dbHelper.GetParameter("P_" + code));codeConditions.Add("P_" + code, code);}listCondition.Add(" CODE IN (" + codeParameters.Join(",").TrimStart(",").TrimEnd(",") + ")");dbParameters = dbParameters.Concat(codeConditions).ToDictionary(k => k.Key, v => v.Value);}

转载于:https://www.cnblogs.com/hnsongbiao/p/11063912.html

数据库IN查询参数化改造的方法相关推荐

  1. oracle 查看并行数据库,Oracle数据库并行查询出错的解决方法

    Oracle的并行查询是使用多个操作系统级别的Server Process来同时完成一个SQL查询,本文讲解Oracle数据库并行查询出错的解决方法如下: 1.错误描述 ORA-12801: 并行查询 ...

  2. oracle并行查询结果不唯一,Oracle数据库并行查询出错的解决方法

    Oracle的并行查询是使用多个操作系统级别的Server Process来同时完成一个SQL查询,本文讲解Oracle数据库并行查询出错的解决方法如下: 1.错误描述 sql;"> ...

  3. mysql中查询编辑器_数据库中查询编辑器的使用方法

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  4. Oracle数据库的并行查询,解决Oracle数据库并行查询出错的方法

    当我们在使用Oracle数据库的时候会发现Oracle数据库并行查询出错这一问题,那么你知道如何解决Oracle数据库并行查询出错吗?下面就是解决Oracle数据库并行查询出错的方法介绍. Oracl ...

  5. php查询mysql放到数组中_php查询mysql数据库并将结果保存到数组的方法

    本文实例讲述了php查询mysql数据库并将结果保存到数组的方法..具体分析如下: 这里主要用到了mysql_fetch_assoc函数 mysql_fetch_assoc语法如下: array my ...

  6. mysql 随机记录 newid(),order by newid() 各种数据库随机查询的方法

    这篇文章主要为大家详细介绍了order by newid() 各种数据库随机查询的方法,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! SQL S ...

  7. php 打印oracle数组,ThinkPHP框架自身$map数组查询语言where条件对应oracle数据库时间戳查询方法...

    oracle数据库时间戳 查询 sql: to_char(date,'yyyy-mm-dd') >= '2013-02-20' and to_char(date,'yyyy-mm-dd') &l ...

  8. php数据库数组去重复数据库,PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)...

    本文实例讲述了php查询并删除数据库多列重复数据的方法.分享给大家供大家参考,具体如下: $con = mysql_connect("localhost","root&q ...

  9. mysql查询耗时_一种数据库高耗时查询的自动取消方法与流程

    本发明涉及数据库的查询方法,特别涉及一种数据库高耗时查询的自动取消方法. 背景技术: 有很多关系型数据库查询业务非常耗时,比如查询企业实时报表之类的,一次查询可能需要几分钟甚至更长.在很多时候,前端业 ...

最新文章

  1. scala-04For与Function进阶实战、Lazy的使用
  2. 2017.10.9 JVM入门学习
  3. Zedboard学习(二):zedboard的Linux下交叉编译环境搭建
  4. 【数据结构】C++单链表实现多项式加法(直接输入多项式)
  5. 设置SpringMVC默认首页启动
  6. JAVA复习5(TreeSet)
  7. WPF依赖属性(续)(4)依赖属性与数据绑定
  8. Codeforces 990G 点分治+暴力
  9. sketchbook使用数位板,笔的鼠标右键无效
  10. mysql实现oracle的同义词_ORACLE同义词总结(上)
  11. 西门子840d备份到u盘_西门子840D数控系统备份及恢复方法(三)
  12. 对数正态分布(Log-Normal Distribution)
  13. 该应用程序从products.json加载数据
  14. python拦截广告弹窗_selenium+python处理广告弹窗
  15. Win11如何给应用换图标?Win11给应用换图标的方法
  16. 地理课(geography)
  17. 微软允许永久在家办公后,发现微软像极了“微商”!
  18. github ip映射
  19. maven的setting文件-02
  20. mcrypt java_使用openssl解密mcrypt

热门文章

  1. 鼠标点击测试_鼠标键盘如何检测故障,这边教您简单的测试
  2. java 树面试题_java——二叉树面试题
  3. php ajax取不到值,PHP没有从Ajax获取值
  4. nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException(Spring循环依赖问题)
  5. AtomicInteger使用非阻塞算法,实现并发控制多线程实现售票
  6. android 的监控讲解,java android网络监测详解
  7. Java技术:Optional 相关用法介绍笔记
  8. MongoDB高可用集群搭建
  9. 如何写出高性能SQL语句
  10. android 属性动画变大,Android PropertyAnimation 属性动画(一)初探