2010-05-11 3 views
4

나는 .csv 파일과 그 값을 읽는 csv 리더 클래스를 가지고있다 ... 나는 그것을 가지고 datatable을 만들었다. 내 Datatable은 3 개의 헤더 컬럼을 가지고있다. Name,EmailId,PhoneNo .... 값이 성공적으로 추가되었다. .. 지금은 C#의 데이터 테이블에 열을 추가 하시겠습니까?

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);

말하는 오류를 보여주고, 내가 이것을 시도했지만 작동하지 않는 것 ...이 datatable에 두 개의 열 IsDeleted,CreatedDate을 추가 할 This row already belongs to this table. ....

alt text http://www.imagechicken.com/uploads/1273560975016964800.jpg

답변

2

dt.Rows.Import 또는 dt.ImportRows를 사용하여

을 잊었거나 dt.Rows.Add? 그것은 생략되어서는 안됩니까?

+0

@Micheal에 대한이 어디에서 가져해야 사용이 dt.Rows[i]["IsDeleted"] = Convert.ToByte(0);처럼 직접 데이터 테이블을 편집? –

+0

@ Pandiya : 처음에는 한 datatable에서 다른 datatable로 복사하는 줄 알았는데. 어쨌든, 내 편집 된 대답을 확인 –

3

왜 데이터 테이블을 다시 테이블에 추가합니까?

라인 dt.Rows.Add(dr);

를 제거하고 루프

+0

당신은 정확했다 .... 나는 그것을 제거하여 일하고있어 ... –

관련 문제