Exemplo n.º 1
0
 public static DateTime?ReadDateTime(this CsvDataReader csv, int idx)
 {
     return
         (idx < 0 || csv.IsDBNull(idx) || csv.GetString(idx) == string.Empty
         ? (DateTime?)null
         : csv.GetDateTime(idx));
 }
Exemplo n.º 2
0
 public static bool?ReadBoolean(this CsvDataReader csv, int idx)
 {
     return
         (idx < 0 || csv.IsDBNull(idx) || csv.GetString(idx) == string.Empty
         ? (bool?)null
         : csv.GetBoolean(idx));
 }
Exemplo n.º 3
0
 public static string?ReadString(this CsvDataReader csv, int idx)
 {
     return
         (idx < 0 || csv.IsDBNull(idx) || csv.GetString(idx) == string.Empty
         ? null
         : csv.GetString(idx));
 }
Exemplo n.º 4
0
 public static int?ReadInt32(this CsvDataReader csv, int idx)
 {
     return
         (idx < 0 || csv.IsDBNull(idx) || csv.GetString(idx) == string.Empty
         ? (int?)null
         : csv.GetInt32(idx));
 }
Exemplo n.º 5
0
        static async Task ProcessDataAsync(CsvDataReader dr)
        {
            var types = new TypeCode[dr.FieldCount];

            for (int i = 0; i < types.Length; i++)
            {
                types[i] = Type.GetTypeCode(dr.GetFieldType(i));
            }
            while (await dr.ReadAsync())
            {
                for (int i = 0; i < dr.FieldCount; i++)
                {
                    switch (types[i])
                    {
                    case TypeCode.Int32:
                        var v = dr.GetInt32(i);
                        break;

                    case TypeCode.Double:
                        if (i == 4 && dr.IsDBNull(i))
                        {
                            break;
                        }
                        var d = dr.GetDouble(i);
                        break;

                    case TypeCode.String:
                        var s = dr.GetString(i);
                        break;

                    default:
                        break;
                    }
                }
            }
        }