DataTable C # Пустой тип столбца - PullRequest
0 голосов
/ 26 апреля 2010

Я пытаюсь построить DataTable по одной строке за раз, используя следующий код.

foreach (var e in Project.ProjectElements[hi.FakeName].Root.Elements()) {
        index = 0;
            object[] obj=new object[count];
            foreach (var holdingColumn in names) {
                string d = e.Attribute(holdingColumn.Key).Value;
                obj[index++] = d;
            }
            dt.Rows.Add(obj);
        }

Проблема в том, что DataTable имеет типы, привязанные к столбцам. Иногда я передаю null (или пустую строку) в этом объектном индексе, и он говорит мне, что он не может быть должным образом преобразован в DateTime (в данном случае). Мой вопрос заключается в том, что я должен по умолчанию это значение или есть какой-то способ заставить DataTable игнорировать пустые значения.

1 Ответ

3 голосов
/ 26 апреля 2010

Установите для свойства AllowDBNull DataColumn значение true, затем напишите

if (String.IsNullOrEmpty(d))
    obj[index++] = DBNull.Value;
else
    obj[index++] = d;
...