我有一个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
答案 0 :(得分:3)
为什么要再次将数据行添加到表中?
删除第dt.Rows.Add(dr);
行
使用for循环
直接编辑数据表,如dt.Rows[i]["IsDeleted"] = Convert.ToByte(0);
答案 1 :(得分:2)
使用dt.Rows.Import或dt.ImportRows,我忘记了名字
或从您的代码判断,为什么需要dt.Rows.Add?不应该省略吗?