Exemplo n.º 1
0
        public void AddCommandParameter(ParameterData paramData)
        {
            if (paramData.Value == null)
            {
                AddParameter(paramData.Name, DBNull.Value, paramData.Direction, paramData.Type, paramData.Size);
            }
            else
            {
                AddParameter(paramData.Name, paramData.Value, paramData.Direction, paramData.Type, paramData.Size);

                var param       = command.Parameters[command.Parameters.Count - 1];
                var valueAsDate = Convert.ToDateTime(paramData.Value, CultureInfo.InvariantCulture);

                if ((param.DbType == DbType.String || param.DbType == DbType.AnsiString) && string.IsNullOrEmpty(paramData.ToString()))
                {
                    param.Value = DBNull.Value;
                }
                else if ((param.DbType == DbType.Date || param.DbType == DbType.DateTime) && valueAsDate == DateTime.MinValue)
                {
                    param.Value = DBNull.Value;
                }
            }
        }