在c#中的数据表中添加列?

时间:2010-05-11 05:54:57

标签: c# datatable add dynamic

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

2 个答案:

答案 0 :(得分:3)

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

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

使用for循环

直接编辑数据表,如dt.Rows[i]["IsDeleted"] = Convert.ToByte(0);

答案 1 :(得分:2)

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

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