예제 #1
0
        /// <summary>
        /// Get parameter descriptor.
        /// </summary>
        /// <param name="parameterName">Parameter name.</param>
        /// <returns>Data parameter descriptor.</returns>
        private DataParameterUnit GetParameterDescriptor(string parameterName)
        {
            DataParameterUnit result = null;

            if (!string.IsNullOrWhiteSpace(parameterName))
            {
                if (this.dataCommandConfig.ParameterCollection != null && this.dataCommandConfig.ParameterCollection.Any())
                {
                    result = this.dataCommandConfig.ParameterCollection.FirstOrDefault(para => string.Equals(para.Name.Trim('@'), parameterName.Trim('@'), StringComparison.OrdinalIgnoreCase));
                }
            }

            return(result);
        }
예제 #2
0
        /// <summary>
        /// Add parameter to command.
        /// </summary>
        /// <param name="parameterName">Parameter name.</param>
        /// <param name="parameterValue">Parameter value.</param>
        public void AddParameter(string parameterName, object parameterValue)
        {
            DataParameterUnit currentParameterDescriptor = this.GetParameterDescriptor(parameterName);

            if (currentParameterDescriptor == null)
            {
                throw new ArgumentNullException(string.Format(@"Not find parameter ""{0}"" from config file", parameterName));
            }

            if (currentParameterDescriptor.IsOutput)
            {
                throw new ArgumentException(string.Format(@"The parameter ""{0}"" is output.", parameterName));
            }

            this.AddInParameter(currentParameterDescriptor.Name, currentParameterDescriptor.DbType, currentParameterDescriptor.Size, currentParameterDescriptor.Precision, currentParameterDescriptor.Scale, parameterValue);
        }