我正在尝试使用以下代码一次生成一行数据表。
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忽略空值。
设置 AllowDBNull 财产 DataColumn 如果是真的,那就写
AllowDBNull
DataColumn
if (String.IsNullOrEmpty(d)) obj[index++] = DBNull.Value; else obj[index++] = d;