Exemplo n.º 1
0
		/// <summary>
		///		Convierte un objeto en una cadena para el contenido de una variable de SqlCmd
		/// </summary>
		private string ConvertToSqlValue(ParameterDb parameterDb)
		{
			if (parameterDb.Value == null || parameterDb.Value == DBNull.Value)
				return "NULL";
			else
				switch (parameterDb.Value)
				{
					case int valueInteger:
						return ConvertIntToSql(valueInteger);
					case short valueInteger:
						return ConvertIntToSql(valueInteger);
					case long valueInteger:
						return ConvertIntToSql(valueInteger);
					case double valueDecimal:
						return ConvertDecimalToSql(valueDecimal);
					case float valueDecimal:
						return ConvertDecimalToSql(valueDecimal);
					case decimal valueDecimal:
						return ConvertDecimalToSql((double) valueDecimal);
					case string valueString:
						return ConvertStringToSql(valueString);
					case DateTime valueDate:
						return ConvertDateToSql(valueDate);
					case bool valueBool:
						return ConvertBooleanToSql(valueBool);
					default:
						return ConvertStringToSql(parameterDb.Value.ToString());
				}
		}
Exemplo n.º 2
0
 private static ParameterDTG ParameterDtg(ParameterDb parameterModel)
 {
     return(new ParameterDTG()
     {
         Name = parameterModel.Name,
         MetadataName = parameterModel.MetadataName,
         Type = LoadType(parameterModel.Type)
     });
 }
Exemplo n.º 3
0
 /// <summary>
 ///		Convierte un parámetro
 /// </summary>
 protected override IDataParameter ConvertParameter(ParameterDb parameter)
 {
     if (parameter.Direction == ParameterDirection.ReturnValue)
     {
         return(new SqlParameter(parameter.Name, SqlDbType.Int));
     }
     if (parameter.Value == null || parameter.Value is DBNull)
     {
         return(new SqlParameter(parameter.Name, null));
     }
     if (parameter.IsText)
     {
         return(new SqlParameter(parameter.Name, SqlDbType.Text));
     }
     if (parameter.Value is bool?)
     {
         return(new SqlParameter(parameter.Name, SqlDbType.Bit));
     }
     if (parameter.Value is int?)
     {
         return(new SqlParameter(parameter.Name, SqlDbType.Int));
     }
     if (parameter.Value is long?)
     {
         return(new SqlParameter(parameter.Name, DbType.Int64));
     }
     if (parameter.Value is double?)
     {
         return(new SqlParameter(parameter.Name, SqlDbType.Float));
     }
     if (parameter.Value is string)
     {
         return(new SqlParameter(parameter.Name, SqlDbType.VarChar, parameter.Length));
     }
     if (parameter.Value is byte[])
     {
         return(new SqlParameter(parameter.Name, SqlDbType.Image));
     }
     if (parameter.Value is DateTime?)
     {
         return(new SqlParameter(parameter.Name, SqlDbType.DateTime));
     }
     if (parameter.Value is Enum)
     {
         return(new SqlParameter(parameter.Name, SqlDbType.Int));
     }
     throw new NotSupportedException($"Tipo del parámetro {parameter.Name} desconocido");
 }
 /// <summary>
 ///		Convierte un parámetro
 /// </summary>
 protected override IDataParameter ConvertParameter(ParameterDb parameter)
 {
     // Convierte el parámetro
     if (parameter.Direction == ParameterDirection.ReturnValue)
     {
         return(new NpgsqlParameter(parameter.Name, NpgsqlDbType.Integer));
     }
     if (parameter.Value == null)
     {
         return(new NpgsqlParameter(parameter.Name, null));
     }
     if (parameter.IsText)
     {
         return(new NpgsqlParameter(parameter.Name, NpgsqlDbType.Varchar));
     }
     if (parameter.Value is bool?)
     {
         return(new NpgsqlParameter(parameter.Name, NpgsqlDbType.Boolean));
     }
     if (parameter.Value is int?)
     {
         return(new NpgsqlParameter(parameter.Name, NpgsqlDbType.Integer));
     }
     if (parameter.Value is double?)
     {
         return(new NpgsqlParameter(parameter.Name, NpgsqlDbType.Double));
     }
     if (parameter.Value is string)
     {
         return(new NpgsqlParameter(parameter.Name, NpgsqlDbType.Varchar, parameter.Length));
     }
     if (parameter.Value is byte[])
     {
         return(new NpgsqlParameter(parameter.Name, NpgsqlDbType.Bit));
     }
     if (parameter.Value is DateTime?)
     {
         return(new NpgsqlParameter(parameter.Name, NpgsqlDbType.Date));
     }
     if (parameter.Value is Enum)
     {
         return(new NpgsqlParameter(parameter.Name, NpgsqlDbType.Integer));
     }
     // Si ha llegado hasta aquí, lanza una excepción
     throw new NotSupportedException($"Tipo del parámetro {parameter.Name} desconocido");
 }
 /// <summary>
 ///		Obtiene un parámetro SQLServer a partir de un parámetro genérico
 /// </summary>
 protected override IDataParameter ConvertParameter(ParameterDb parameter)
 {
     // Crea un parámetro de retorno entero
     if (parameter.Direction == ParameterDirection.ReturnValue)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Int));
     }
     // Asigna el tipo de parámetro
     if (parameter.IsText)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.VarChar));
     }
     if (parameter.Value is bool)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Bit));
     }
     if (parameter.Value is int)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Int));
     }
     if (parameter.Value is double)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Double));
     }
     if (parameter.Value is string)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.VarChar, parameter.Length));
     }
     if (parameter.Value is byte [])
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Binary));
     }
     if (parameter.Value is DateTime)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Date));
     }
     if (parameter.Value is Enum)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Int));
     }
     // Devuelve un parámetro genérico
     return(new OdbcParameter(parameter.Name, parameter.Value));
 }
 /// <summary>
 ///		Obtiene un parámetro SQLServer a partir de un parámetro genérico
 /// </summary>
 protected override IDataParameter ConvertParameter(ParameterDb parameter)
 {
     if (parameter.Direction == ParameterDirection.ReturnValue)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Int));
     }
     if (parameter.IsText)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.VarChar));
     }
     if (parameter.Value is bool)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Bit));
     }
     if (parameter.Value is int)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Int));
     }
     if (parameter.Value is double)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Double));
     }
     if (parameter.Value is string)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.VarChar, parameter.Length));
     }
     if (parameter.Value is byte [])
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Binary));
     }
     if (parameter.Value is DateTime)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Date));
     }
     if (parameter.Value is Enum)
     {
         return(new OdbcParameter(parameter.Name, OdbcType.Int));
     }
     throw new NotSupportedException($"Tipo del parámetro {parameter.Name} desconocido");
 }