【问题标题】:DataTable C# Empty column typeDataTable C# 空列类型
【发布时间】:2010-04-26 03:13:59
【问题描述】:

我正在尝试使用以下代码一次构建一个 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 忽略空值。

【问题讨论】:

    标签: c# datatable types strict


    【解决方案1】:

    设置DataColumnAllowDBNull属性为true,然后写

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

    【讨论】:

    • 我就知道会这么简单,只是用 google 找不到。
    • 您可能还需要致电Convert.ChangeType
    猜你喜欢
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    相关资源
    最近更新 更多