// 批量查询的 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);
}
数据库IN查询参数化改造的方法
原创hnsongbiao ©著作权
©著作权归作者所有:来自51CTO博客作者hnsongbiao的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java 参数化 数据库 java 参数化查询
定义拿出一个代码块,把它准备好不去执行它。这个代码块可以被程序的其他部分调用,推迟这段代码块的执行,可以将它作为参数传递给另一个方法,然后再去执行它,这个方法的行为就基于那个代码块被参数化了。
java 参数化 数据库 Java8 lambda 参数化 List -
js mysql参数化查询方法 js获取mysql数据库数据
文件构成: Access数据库名为 MyData.Mdb, 里面建了一个名为count的表,表由两个字段组成: ID和COUNT,表里有一条数据: ('count','100')。 文本文件名为 count.txt,里面随便写入一个数字。 静态页面名为Cnt.htm。以上3个文件都放在同一目录下。 &nb
js mysql参数化查询方法 数据库 microsoft javascript string -
mysql in 参数化 mysql数据库参数
配置参数的作用域全局参数 set global 参数名=参数值 或 set @@global.参数名:=参数值会话参数 set [session] 参数名=参数值 或 set @@session.参数名:=参数值
mysql in 参数化 mysql数据库参数配置 MySQL 缓存 存储引擎