Esempio n. 1
0
 public DbfField(string fldName, DbfHeader.dBaseFieldType fldType, int recOffset, int fldLength, int decLength, int ordinal)
 {
     this.FieldNameHex    = Hex.ToHex(Encoding.Unicode.GetBytes(fldName));
     this.FieldTypeHex    = Hex.ToHex(new byte[] { (byte)fldType });
     this.RecordOffsetHex = Hex.ToHex(recOffset).PadLeft(8, '0');
     this.FieldLength     = fldLength;
     this.DecimalLength   = decLength;
     this.Ordinal         = ordinal;
     this.Owner           = null;
 }
Esempio n. 2
0
        /// <summary>
        /// Retursn the System.Type equivalent to the supplied DbfHeader.dBaseFieldType.
        /// </summary>
        /// <param name="fldType">A DbfHeader.dBaseFieldType value to convert from.</param>
        /// <returns>An equivalent System.Type object.</returns>
        public static Type GetSystemDataType(DbfHeader.dBaseFieldType fldType)
        {
            switch (fldType)
            {
            case DbfHeader.dBaseFieldType.Logical:
                return(typeof(System.Boolean));

            case DbfHeader.dBaseFieldType.Date:
                return(typeof(System.DateTime));

            case DbfHeader.dBaseFieldType.DateTime:
                return(typeof(System.DateTime));

            case DbfHeader.dBaseFieldType.Timestamp:
                return(typeof(System.DateTime));

            case DbfHeader.dBaseFieldType.Memo:
                return(typeof(System.String));

            case DbfHeader.dBaseFieldType.Numeric:
                return(typeof(System.String));

            case DbfHeader.dBaseFieldType.Character:
                return(typeof(System.String));

            case DbfHeader.dBaseFieldType.Unknown:
                return(typeof(System.Object));

            case DbfHeader.dBaseFieldType.Long:
                return(typeof(System.Int64));

            case DbfHeader.dBaseFieldType.Binary:
                return(typeof(System.Int64));

            case DbfHeader.dBaseFieldType.AutoIncrement:
                return(typeof(System.Int64));

            case DbfHeader.dBaseFieldType.Picture:
                return(typeof(System.Byte[]));

            case DbfHeader.dBaseFieldType.FloatingPoint:
                return(typeof(System.Double));
            }
            return(typeof(System.String));
        }