我需要一些帮助来编辑我的 DataTable 以处理可能的空值。在这种情况下,它们有可能将列表中的任何项目添加到 DataTable 为空。我正在寻找在创建 DataTable 时考虑这些空值的最佳方法,因此当我将其插入 MSSQL 时,我不会遇到错误。这是我用来生成数据表的代码:public DataTable ConvertListToCustomDataTable(List<RootObject> listOfItems){ DataTable table = new DataTable(); table.Columns.Add("DateCreated"); table.Columns.Add("DepthCode"); table.Columns.Add("DepthDateCreated"); table.Columns.Add("DepthLevel"); table.Columns.Add("DepthID"); table.Columns.Add("DepthCategoryName"); table.Columns.Add("DepthName"); table.Columns.Add("DepthCategoryDateUpdated"); table.Columns.Add("DepthDateUpdated"); table.Columns.Add("Name"); table.Columns.Add("ID"); table.Columns.Add("CategoryCode"); table.Columns.Add("CategoryDateCreated"); table.Columns.Add("CategoryDateUpdated"); table.Columns.Add("CategoryID"); table.Columns.Add("CategoryName"); table.Columns.Add("Code"); foreach (var item in listOfItems) { var row = table.NewRow(); row["DateCreated"] = item.DateCreated; row["DepthCode"] = item.Depth.Code; row["DepthDateCreated"] = item.Depth.DateCreated; row["DepthLevel"] = item.Depth.Level; row["DepthID"] = item.Depth.ID; row["DepthCategoryName"] = item.Depth.Category.Name; row["DepthName"] = item.Depth.Name; row["DepthCategoryDateUpdated"] = item.Depth.Category.DateUpdated; row["DepthDateUpdated"] = item.Depth.DateUpdated; row["Name"] = item.Name; row["ID"] = item.ID; row["CategoryCode"] = item.Category.Code; row["CategoryDateCreated"] = item.Category.DateCreated; row["CategoryDateUpdated"] = item.Category.DateUpdated; row["CategoryID"] = item.Category.ID; row["CategoryName"] = item.Category.Name; row["Code"] = item.Code; table.Rows.Add(row); } return table;}
1 回答
慕桂英546537
TA贡献1848条经验 获得超10个赞
您需要将表列设置为接受空值。
DataColumn datecolumn = new DataColumn("DateCreated");
datecolumn.AllowDBNull = true;
我会将列名放在一个数组中并循环遍历它们,即类似于此的东西。
DataTable table = new DataTable();
string[] column = { "DateCreated", "DepthCode", "DepthDateCreated" };
foreach (var item in column)
{
DataColumn datecolumn = new DataColumn(item);
datecolumn.AllowDBNull = true;
table.Columns.Add(item);
}
- 1 回答
- 0 关注
- 192 浏览
添加回答
举报
0/150
提交
取消
