Example #1
0
        /// <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);
                    }
                }
            }
        }
Example #2
0
    /// <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())));
        }