4

我有一个读取.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. ....

替代文字 http://www.imagechicken.com/uploads/1273560975016964800.jpg

4

2 回答 2

3

为什么要再次将数据行添加到表中?

删除线dt.Rows.Add(dr);

dt.Rows[i]["IsDeleted"] = Convert.ToByte(0);并使用 for 循环像这样直接编辑数据表

于 2010-05-11T06:04:51.080 回答
2

使用 dt.Rows.Import 或 dt.ImportRows,我忘了名字

或者从您的代码来看,为什么需要 dt.Rows.Add?不应该省略吗?

于 2010-05-11T06:04:33.353 回答