I have a csv reader class that reads a .csv file and its values.... I have created datatable out of it... Consider my Datatable contains three header columns Name,EmailId,PhoneNo.... The values have been added successfully.... Now i want to add two columns IsDeleted,CreatedDate to this datatable... I have tried this but it doesn't seem to work,
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); shows an error saying This row already belongs to this table.
....
开发者_运维技巧alt text http://www.imagechicken.com/uploads/1273560975016964800.jpg
Why do you add the datarow again into the table?
Remove the line dt.Rows.Add(dr);
and edit the datatable directly like this dt.Rows[i]["IsDeleted"] = Convert.ToByte(0); using a for loop
Use dt.Rows.Import, or dt.ImportRows, I forgot the name
or judging from your code, why you need the dt.Rows.Add? shouldn't that be omitted?
加载中,请稍侯......
精彩评论