示例#1
0
 protected static string FormatearParametroParaLogSegunTipo(object valor, SqlDbType tipo)
 {
     if (tipo.Equals(SqlDbType.Char) ||
         tipo.Equals(SqlDbType.DateTime2) ||
         tipo.Equals(SqlDbType.DateTimeOffset) ||
         tipo.Equals(SqlDbType.SmallDateTime) ||
         tipo.Equals(SqlDbType.Text) ||
         tipo.Equals(SqlDbType.VarChar))
     {
         return("'" + valor.ToString() + "'");
     }
     else if (tipo.Equals(SqlDbType.DateTime))
     {
         return("'" + ((DateTime)valor).ToString("yyyy-MM-dd HH:mm:ss") + "'");
     }
     else if (tipo.Equals(SqlDbType.Date))
     {
         return("'" + ((DateTime)valor).ToString("yyyy-MM-dd") + "'");
     }
     else if (tipo.Equals(SqlDbType.Time))
     {
         return("'" + ((DateTime)valor).ToString("HH:mm:ss") + "'");
     }
     else if (tipo.Equals(SqlDbType.Decimal))
     {
         NumberFormatInfo nfi = new NumberFormatInfo();
         nfi.NumberDecimalSeparator = ".";
         return(((decimal)valor).ToString(nfi));
     }
     return(valor.ToString());
 }
示例#2
0
        /// <summary>
        /// 将SqlDbType类型转换为Net
        /// </summary>
        /// <param name="theType">待转换类型</param>
        /// <returns></returns>
        public static Type GetNetType(SqlDbType theType)
        {
            if (theType.Equals(SqlDbType.VarBinary))
            {
                return(typeof(byte[]));
            }
            if (theType.Equals(SqlDbType.UniqueIdentifier))
            {
                return(typeof(Guid));
            }
            switch (theType)
            {
            case SqlDbType.Bit:
                return(typeof(bool));

            case SqlDbType.TinyInt:
                return(typeof(byte));

            case SqlDbType.DateTime:
                return(typeof(DateTime));

            case SqlDbType.DateTime2:
                return(typeof(DateTime));

            case SqlDbType.DateTimeOffset:
                return(typeof(DateTime));

            case SqlDbType.SmallDateTime:
                return(typeof(DateTime));

            case SqlDbType.Money:
                return(typeof(decimal));

            case SqlDbType.Decimal:
                return(typeof(decimal));

            case SqlDbType.Float:
                return(typeof(double));

            case SqlDbType.SmallInt:
                return(typeof(short));

            case SqlDbType.Int:
                return(typeof(int));

            case SqlDbType.BigInt:
                return(typeof(long));

            case SqlDbType.Real:
                return(typeof(float));

            case SqlDbType.NVarChar:
                return(typeof(string));

            default:
                return(typeof(string));
            }
        }
        public static SqlParameter CrearParametro(string nombreParametro, SqlDbType tipo, object valor, ParameterDirection direccion)
        {
            var sqlParameter = new SqlParameter(nombreParametro, tipo);

            if (tipo.Equals(SqlDbType.Bit) && !valor.Equals(DBNull.Value))
            {
                sqlParameter.Value = Convert.ToBoolean(valor);
            }
            else if (!tipo.Equals(SqlDbType.Bit))
            {
                sqlParameter.Value = valor; //!= null ? valor : DBNull.Value;
            }
            sqlParameter.Direction = direccion;

            return(sqlParameter);
        }
示例#4
0
 private static System.Type   ChangeType(SqlDbType type)
 {
     if (type.Equals(SqlDbType.NVarChar))
     {
         return(typeof(System.String));
     }
     if (type.Equals(SqlDbType.Date))
     {
         return(typeof(System.DateTime));
     }
     if (type.Equals(SqlDbType.DateTime))
     {
         return(typeof(System.DateTime));
     }
     if (type.Equals(SqlDbType.Float))
     {
         return(typeof(System.Double));
     }
     if (type.Equals(SqlDbType.Int))
     {
         return(typeof(System.Int32));
     }
     if (type.Equals(SqlDbType.Money))
     {
         return(typeof(System.Decimal));
     }
     else
     {
         return(typeof(System.String));
     }
 }
示例#5
0
 public static SqlParameter GetParameter <T>(T value, SqlDbType paramType, string name, int length)
 {
     if (!value.Equals(null))
     {
         SqlParameter retVal = new SqlParameter(name, paramType, length);
         retVal.Direction = ParameterDirection.Input;
         if (paramType.Equals(SqlDbType.Int))
         {
             retVal.Value = Convert.ToInt64(value);
         }
         else if (paramType.Equals(SqlDbType.Float))
         {
             retVal.Value = Convert.ToSingle(value);
         }
         else
         {
             retVal.Value = value.ToString();
         }
         return(retVal);
     }
     return(new SqlParameter(name, DBNull.Value));
 }
        public static SqlParameter CreateInputParam(string paramName, SqlDbType dbType, object objValue)
        {
            SqlParameter parameter = new SqlParameter(paramName, dbType);

            if (objValue == null || objValue == DBNull.Value)
            {
                parameter.IsNullable = true;
                parameter.Value      = DBNull.Value;
            }
            else
            {
                if (dbType.Equals(SqlDbType.UniqueIdentifier))
                {
                    parameter.Value = System.Data.SqlTypes.SqlGuid.Parse(objValue.ToString());
                }
                else
                {
                    parameter.Value = objValue;
                }
            }
            return(parameter);
        }
示例#7
0
		private static bool IsDefaultLength(SqlDbType sqlDBType, int length)
		{
			int DefaultLength;
			switch (sqlDBType)
			{
				case System.Data.SqlDbType.Int:
				case System.Data.SqlDbType.Real:
				case System.Data.SqlDbType.SmallMoney:
				case System.Data.SqlDbType.SmallDateTime:
					DefaultLength = 4;
					break;
				case System.Data.SqlDbType.Bit:
				case System.Data.SqlDbType.TinyInt:
					DefaultLength = 1;
					break;
				case System.Data.SqlDbType.DateTime:
				case System.Data.SqlDbType.Float:
				case System.Data.SqlDbType.BigInt:
				case System.Data.SqlDbType.Money:
				case System.Data.SqlDbType.Timestamp:
					DefaultLength = 8;
					break;
				case System.Data.SqlDbType.Decimal:
					DefaultLength = 9;
					break;
				case System.Data.SqlDbType.SmallInt:
					DefaultLength = 2;
					break;
				case System.Data.SqlDbType.NChar:
				case System.Data.SqlDbType.Char:
					DefaultLength = 10;
					break;
				case System.Data.SqlDbType.Text:
					DefaultLength = 2147483647;
					break;
				case System.Data.SqlDbType.UniqueIdentifier:
				case System.Data.SqlDbType.NText:
				case System.Data.SqlDbType.Image:
					DefaultLength = 16;
					break;
				case System.Data.SqlDbType.Binary:
				case System.Data.SqlDbType.VarChar:
				case System.Data.SqlDbType.VarBinary:
				case System.Data.SqlDbType.NVarChar:
					DefaultLength = 50;
					break;
				default:
					DefaultLength = -1;
					return false;
			}

			if (sqlDBType.Equals(SqlDbType.Text))
				return true;

			return (DefaultLength == length);
		}
示例#8
0
        /// <summary>
        /// Gets the SQL values.
        /// </summary>
        /// <param name="oracleType">Type of the oracle.</param>
        /// <param name="value">The value.</param>
        /// <returns></returns>
        /// <Remarks>
        /// Created Time: 2008-6-13 17:55
        /// Created By: jack_que
        /// Last Modified Time:  
        /// Last Modified By: 
        /// </Remarks>
        public static object GetSqlValues(SqlDbType oracleType, string value)
        {
            if (value.Equals(string.Empty))
               {
               return Convert.DBNull;
               }
               if (oracleType.Equals(SqlDbType.DateTime))
               {
               return Convert.ToDateTime(value);
               }
               if (oracleType.Equals(SqlDbType.Int))
               {
               return Convert.ToInt32(value);
               }

               if (oracleType.Equals(SqlDbType.Decimal))
               {
               return Convert.ToSingle(value);
               }
               return value;
        }