예제 #1
0
        /// <summary>
        ///		Lee los parámetros de salida
        /// </summary>
        private ParametersDBCollection ReadOutputParameters(IDataParameterCollection objColOutputParameters)
        {
            ParametersDBCollection objColParameters = new ParametersDBCollection();

            // Recupera los parámetros
            foreach (IDataParameter objOutputParameter in objColOutputParameters)
            {
                ParameterDB objParameter = new ParameterDB();

                // Asigna los datos
                objParameter.Name      = objOutputParameter.ParameterName;
                objParameter.Direction = objOutputParameter.Direction;
                if (objOutputParameter.Value == DBNull.Value)
                {
                    objParameter.Value = null;
                }
                else
                {
                    objParameter.Value = objOutputParameter.Value;
                }
                // Añade el parámetro a la colección
                objColParameters.Add(objParameter);
            }
            // Devuelve la colección de parámetros
            return(objColParameters);
        }
예제 #2
0
        /// <summary>
        ///		Obtiene un parámetro SQLServer a partir de un parámetro genérico
        /// </summary>
        private IDataParameter GetSQLParameter(ParameterDB objParameter)
        {
            IDataParameter objDBParameter = ConvertParameter(objParameter);

            // Asigna el valor
            objDBParameter.Value = objParameter.GetDBValue();
            // Asigna la dirección
            objDBParameter.Direction = objParameter.Direction;
            // Devuelve el parámetro
            return(objDBParameter);
        }
예제 #3
0
 /// <summary>
 ///		Convierte un parámetro
 /// </summary>
 protected override IDataParameter ConvertParameter(ParameterDB objParameter)
 {
     if (objParameter.Direction == ParameterDirection.ReturnValue)
     {
         return(new SqlParameter(objParameter.Name, SqlDbType.Int));
     }
     else if (objParameter.Value == null)
     {
         return(new SqlParameter(objParameter.Name, null));
     }
     else if (objParameter.IsText)
     {
         return(new SqlParameter(objParameter.Name, SqlDbType.Text));
     }
     else if (objParameter.Value is bool?)
     {
         return(new SqlParameter(objParameter.Name, SqlDbType.Bit));
     }
     else if (objParameter.Value is int?)
     {
         return(new SqlParameter(objParameter.Name, SqlDbType.Int));
     }
     else if (objParameter.Value is double?)
     {
         return(new SqlParameter(objParameter.Name, SqlDbType.Float));
     }
     else if (objParameter.Value is string)
     {
         return(new SqlParameter(objParameter.Name, SqlDbType.VarChar, objParameter.Length));
     }
     else if (objParameter.Value is byte [])
     {
         return(new SqlParameter(objParameter.Name, SqlDbType.Image));
     }
     else if (objParameter.Value is DateTime?)
     {
         return(new SqlParameter(objParameter.Name, SqlDbType.DateTime));
     }
     else
     {
         throw new NotSupportedException("Tipo del parámetro " + objParameter.Name + "desconocido");
     }
 }
예제 #4
0
 /// <summary>
 ///		Obtiene un parámetro SQLServer a partir de un parámetro genérico
 /// </summary>
 protected override IDataParameter ConvertParameter(ParameterDB objParameter)
 {
     if (objParameter.Direction == ParameterDirection.ReturnValue)
     {
         return(new OdbcParameter(objParameter.Name, OdbcType.Int));
     }
     else if (objParameter.IsText)
     {
         return(new OdbcParameter(objParameter.Name, OdbcType.VarChar));
     }
     else if (objParameter.Value is bool)
     {
         return(new OdbcParameter(objParameter.Name, OdbcType.Bit));
     }
     else if (objParameter.Value is int)
     {
         return(new OdbcParameter(objParameter.Name, OdbcType.Int));
     }
     else if (objParameter.Value is double)
     {
         return(new OdbcParameter(objParameter.Name, OdbcType.Double));
     }
     else if (objParameter.Value is string)
     {
         return(new OdbcParameter(objParameter.Name, OdbcType.VarChar, objParameter.Length));
     }
     else if (objParameter.Value is byte [])
     {
         return(new OdbcParameter(objParameter.Name, OdbcType.Binary));
     }
     else if (objParameter.Value is DateTime)
     {
         return(new OdbcParameter(objParameter.Name, OdbcType.Date));
     }
     else
     {
         throw new NotSupportedException("Tipo del parámetro " + objParameter.Name + "desconocido");
     }
 }
예제 #5
0
 /// <summary>
 ///		Método abstracto para convertir un parámetro
 /// </summary>
 protected abstract IDataParameter ConvertParameter(ParameterDB objParameter);