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; } } }