Exemple #1
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(SqlServerUtils.ThrowException(dbType));
     }
 }
Exemple #2
0
 /// <summary>
 /// 是否日期+时间类型
 /// </summary>
 /// <param name="dbType">DbType属性</param>
 /// <returns></returns>
 public static bool IsDateTime(object dbType)
 {
     if (dbType == null)
     {
         return(false);
     }
     else if (dbType is DbType)
     {
         return(((DbType)dbType) == System.Data.DbType.DateTime);
     }
     else if (dbType is SqlDbType)
     {
         return(((SqlDbType)dbType) == SqlDbType.DateTime);
     }
     else
     {
         return(SqlServerUtils.ThrowException(dbType));
     }
 }
Exemple #3
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
         {
             SqlServerUtils.ThrowException(dbType);
         }
     }
     else if (parameter.Value != null && parameter.Value is DateTime && dbType == null)
     {
         // 如果 DateTime 没有指定 DbType,则需要转为 DateTime2才能保持原有的精度
         parameter.DbType = System.Data.DbType.DateTime2;
     }
 }