/// <summary> /// 将Request里的参数转成OracleParameter[] /// </summary> /// <returns></returns> public static void RequestParasToSqlParameters(OracleParameterCollection oldParas) { var oldParaList = oldParas.Cast <OracleParameter>().ToList(); var paraDictionarAll = SqlSugarTool.GetParameterDictionary(); if (paraDictionarAll != null && paraDictionarAll.Count() > 0) { foreach (KeyValuePair <string, string> it in paraDictionarAll) { var par = new OracleParameter(":" + it.Key, it.Value); if (!oldParaList.Any(oldPara => oldPara.ParameterName == (":" + it.Key))) { oldParas.Add(par); } } } }
/// <summary> /// Ищет параметр OracleParameter в коллекции prms по имени paramName /// </summary> /// <param name="prms"></param> /// <param name="paramName"></param> /// <returns></returns> public static OracleParameter FindOraParam(OracleParameterCollection prms, String paramName) { if ((prms != null) && !String.IsNullOrEmpty(paramName)) { return prms.Cast<OracleParameter>().FirstOrDefault(p => { var pn1 = p.ParameterName; var pn2 = paramName; Utl.RegexReplace(ref pn1, @"^\bp_", String.Empty, true); Utl.RegexReplace(ref pn2, @"^\bp_", String.Empty, true); return String.Equals(pn1, pn2, StringComparison.CurrentCultureIgnoreCase); }); } return null; }
/// <summary> /// Prepare executed SQL Command by replacing parameters with values - Oracle /// </summary> /// <param name="command">Executed command</param> /// <param name="parameters">Command parameters</param> /// <returns>SQL Command</returns> public static string PrepareSql(OracleCommand command, OracleParameterCollection parameters) { string res = command.CommandText; return(parameters.Cast <SqlParameter>().Aggregate(res, (current, parameter) => current.Replace($":{parameter.ParameterName}", parameter.Value.ToString()))); }