我有一个 csv 阅读器类,它读取 .csv
文件及其值....我已经从中创建了 datatable
...考虑我的 Datatable
包含三个标题列 Name,EmailId,PhoneNo
....已成功添加值....现在我想添加两列 IsDeleted,CreatedDate
到这个 datatable
...我已经试过了,但它似乎不起作用,
foreach (string strHeader in headers)
{
dt.Columns.Add(strHeader);
}
string[] data;
while ((data = reader.GetCSVLine()) != null)
{
dt.Rows.Add(data);
}
dt.Columns.Add("IsDeleted", typeof(byte));
dt.Columns.Add(new DataColumn("CreatedDate", typeof(DateTime)));
foreach (DataRow dr in dt.Rows)
{
dr["IsDeleted"] = Convert.ToByte(0);
dr["CreatedDate"] = Convert.ToDateTime(System.DateTime.Now.ToString());
dt.Rows.Add(dr);
}
dt.Rows.Add(dr);
显示一个错误,提示 This row already belongs to this table。
....
alt text http://www.imagechicken.com/uploads/1273560975016964800.jpg
最佳答案
为什么要将数据行再次添加到表中?
删除行 dt.Rows.Add(dr);
并像这样直接编辑数据表 dt.Rows[i]["IsDeleted"] = Convert.ToByte(0);
使用 for 循环
关于c# - 在 C# 中将列添加到数据表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2808366/