数据库IN查询参数化改造的方法
生活随笔
收集整理的這篇文章主要介紹了
数据库IN查询参数化改造的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// 批量查詢的 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查询参数化改造的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XV6系统调用实现
- 下一篇: docker启动sqlserver_Do