Exemplo n.º 1
0
        /// <summary>
        /// 建立欄位並加入資料表中。
        /// </summary>
        /// <param name="fieldName">欄位名稱。</param>
        /// <param name="caption">欄位標題。</param>
        /// <param name="fieldDbType">欄位資料型別。</param>
        /// <param name="defaultValue">預設值。</param>
        public DataColumn AddColumn(string fieldName, string caption, EFieldDbType fieldDbType, object defaultValue)
        {
            Type oDataType;

            oDataType = DbTypeConverter.ToType(fieldDbType);
            return(AddColumn(fieldName, caption, oDataType, defaultValue));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 建立欄位並加入資料表。
        /// </summary>
        /// <param name="fieldName">欄位名稱。</param>
        /// <param name="fieldDbType">欄位資料型別。</param>
        public DataColumn AddColumn(string fieldName, EFieldDbType fieldDbType)
        {
            Type oDataType;

            oDataType = DbTypeConverter.ToType(fieldDbType);
            object oDefaultValue = DataFunc.GetDefaultValue(oDataType);

            return(this.AddColumn(fieldName, oDataType, oDefaultValue));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 依資料型別取得預設值(字串預設為空字串、數值預設為 0,布林值預設為 false,其他為 DBNull.Value)。
        /// </summary>
        /// <param name="dataType">資料型別。</param>
        /// <param name="dateTimeDefault">DateTime 型別的預設值。</param>
        public static object GetDefaultValue(Type dataType, EDateTimeDefault dateTimeDefault = EDateTimeDefault.Today)
        {
            switch (DbTypeConverter.ToTypeCode(dataType))
            {
            case TypeCode.Boolean:
                return(false);

            case TypeCode.Char:
            case TypeCode.String:
                return(string.Empty);

            case TypeCode.SByte:
            case TypeCode.Byte:
            case TypeCode.Int16:
            case TypeCode.UInt16:
            case TypeCode.Int32:
            case TypeCode.UInt32:
            case TypeCode.Int64:
            case TypeCode.UInt64:
            case TypeCode.Single:
            case TypeCode.Double:
            case TypeCode.Decimal:
                return(0);

            case TypeCode.DateTime:
                switch (dateTimeDefault)
                {
                case EDateTimeDefault.Today:
                    return(DateTime.Today);

                case EDateTimeDefault.Now:
                    return(DateTime.Now);

                default:         // EDateTimeDefault.MinValue:
                    return(DateTime.MinValue);
                }
            }
            return(DBNull.Value);
        }