Example #1
0
 /// <summary>
 /// 设置命令参数对象的 DbType属性
 /// </summary>
 /// <param name="parameter">命令参数对象</param>
 /// <param name="dbType">DbType属性</param>
 public static void DbType(this SQLiteParameter parameter, object dbType)
 {
     if (dbType != null)
     {
         if (dbType is DbType)
         {
             parameter.DbType = (DbType)dbType;
         }
         else
         {
             DbTypeUtils.ThrowException(dbType);
         }
     }
 }
Example #2
0
 /// <summary>
 /// 是否日期+时间+精度类型
 /// </summary>
 /// <param name="dbType">DbType属性</param>
 public static bool IsDateTime2(object dbType)
 {
     if (dbType == null)
     {
         return(false);
     }
     else if (dbType is DbType)
     {
         return(((DbType)dbType) == System.Data.DbType.DateTime2);
     }
     else
     {
         return(DbTypeUtils.ThrowException(dbType));
     }
 }
Example #3
0
 /// <summary>
 /// 检查指定的数据类型是否为 Unicode
 /// </summary>
 /// <param name="dbType">数据类型 <see cref="System.Data.DbType"/> </param>
 /// <returns></returns>
 public static bool IsUnicode(object dbType)
 {
     if (dbType == null)
     {
         return(true);
     }
     else if (dbType is DbType)
     {
         return(((DbType)dbType) == System.Data.DbType.String || ((DbType)dbType) == System.Data.DbType.StringFixedLength);
     }
     else if (dbType is SqlDbType)
     {
         return(((SqlDbType)dbType) == SqlDbType.NVarChar || ((SqlDbType)dbType) == SqlDbType.NChar || ((SqlDbType)dbType) == SqlDbType.NText);
     }
     else
     {
         return(DbTypeUtils.ThrowException(dbType));
     }
 }
Example #4
0
 /// <summary>
 /// 是否时间类型
 /// </summary>
 public static bool IsTime(object dbType)
 {
     if (dbType == null)
     {
         return(false);
     }
     else if (dbType is DbType)
     {
         return(((DbType)dbType) == System.Data.DbType.Time);
     }
     else if (dbType is OracleDbType)
     {
         return(((OracleDbType)dbType) == OracleDbType.IntervalDS);
     }
     else
     {
         return(DbTypeUtils.ThrowException(dbType));
     }
 }
Example #5
0
 /// <summary>
 /// 是否日期+时间+精度+时区类型
 /// </summary>
 public static bool IsDateTimeOffset(object dbType)
 {
     if (dbType == null)
     {
         return(false);
     }
     else if (dbType is DbType)
     {
         return(((DbType)dbType) == System.Data.DbType.DateTimeOffset);
     }
     else if (dbType is OracleDbType)
     {
         return(((OracleDbType)dbType) == OracleDbType.TimeStampTZ);// || ((OracleDbType)dbType) == OracleDbType.TimeStampLTZ;
     }
     else
     {
         return(DbTypeUtils.ThrowException(dbType));
     }
 }
Example #6
0
        /// <summary>
        /// 是否日期+时间+精度+时区类型
        /// </summary>
        /// <param name="dbType">DbType属性</param>
        public static bool IsDateTimeOffset(object dbType)
        {
#if netcore
            if (dbType == null)
            {
                return(false);
            }
            else if (dbType is DbType)
            {
                return(((DbType)dbType) == System.Data.DbType.DateTimeOffset);
            }
            else if (dbType is NpgsqlDbType)
            {
                return(((NpgsqlDbType)dbType) == NpgsqlDbType.TimestampTz);
            }
            else
            {
                return(DbTypeUtils.ThrowException(dbType));
            }
#endif
#if !netcore
            if (dbType == null)
            {
                return(false);
            }
            else if (dbType is DbType)
            {
                return(((DbType)dbType) == System.Data.DbType.DateTimeOffset);
            }
            else if (dbType is NpgsqlDbType)
            {
                return(((NpgsqlDbType)dbType) == NpgsqlDbType.TimestampTZ);
            }
            else
            {
                return(DbTypeUtils.ThrowException(dbType));
            }
#endif
        }
Example #7
0
 /// <summary>
 /// 设置命令参数对象的 DbType属性
 /// </summary>
 /// <param name="parameter">命令参数对象</param>
 /// <param name="dbType">DbType属性</param>
 public static void DbType(this SqlParameter parameter, object dbType)
 {
     if (dbType != null)
     {
         if (dbType is DbType)
         {
             parameter.DbType = (DbType)dbType;
         }
         else if (dbType is SqlDbType)
         {
             parameter.SqlDbType = (SqlDbType)dbType;
         }
         else
         {
             DbTypeUtils.ThrowException(dbType);
         }
     }
     else if (parameter.Value != null && parameter.Value is DateTime && dbType == null)
     {
         // 如果 DateTime 没有指定 DbType,则需要转为 DateTime2才能保持原有的精度
         parameter.DbType = System.Data.DbType.DateTime2;
     }
 }