我在困难时期应该是一段简单的代码。下面的代码循环遍历自定义类的属性,并从该类对象中获取值并将其填充到数据行中。
DataRow row = table.NewRow();
foreach(PropertyInfo p in sfa.GetType().GetProperties())
{
row[p.Name] = p.GetValue(sfa);
}
问题是我得到的错误:
无法将列'columnName'设置为null。请改用DBNull。
它正在阻塞的特定列是DateTime
类型属性。如果这就是它想要的话,我很擅长使用DBNull
。我只是不知道,也无法弄明白?如果它不喜欢DBNull
,如何告诉我想要给它的row.column交集System.null
。
提前感谢您的帮助!
答案 0 :(得分:4)
您可以检查null
或只使用null-coalescing operator:
row[p.Name] = p.GetValue(sfa) ?? DBNull.Value;