2017-11-07 1 views
-3

저는 C#에서 많은 경험이 없으며 Linq를 사용한 적이 없으므로 여러분에게 도움을 요청합니다.존재하는 모든 열을 다른 것으로 복사하십시오.

2 개의 DataTable이 있습니다. 1은 비어 있고 1은 축구 선수로 채워집니다. DataTable1

playerid | firstname | lastname | headid 
------------------------------------------ 

DataTable2

firstname | playerid | nationid | lastname | headid 
------------------------------------------------------- 
Thomas  | 13   | 4  | Müller | 12 
Andre  | 14   | 5  | Silva | 17 
Gareth  | 15   | 10  | Bale  | 11 

지금 내 DataTable1에 DataTable2의 내용을 복사 할. 문제는 DataTable2에 DataTable1에서 원하지 않는 (필자는 필요 없다) 열과 인덱스가 동일하지 않은 열이 있다는 것입니다. DataTable 1을 C#으로 채우려면 어떻게해야합니까?

이 내가해야 할 것입니다 : 나는 해결책을 발견 DataTableFinal

playerid | firstname | lastname | headid 
------------------------------------------------------- 
13   | Thomas | Müller | 12 
14   | Andre  | Silva | 17 
15   | Gareth | Bale  | 11 
+0

을 - 당신은 무엇을 시도, 그래서? – BugFinder

+0

일해주세요. – Saadi

+0

약간 짜증이 들지만, 나를 도와주지 않아서 고마워 !! 나는 혼자서 그것을 얻었고, 나 같은 초보자에게는 정말 좋은 느낌이다! 솔루션이 시작 지점에 있음 –

답변

0

을 : 대부분이 C#을 문제이지만 표준 DB 문제가되지 않습니다

DataTable src = new DataTable(); 
DataTable dest = new DataTable(); 
src = ConvertCSVtoDataTable ("/home/user/datatable2.csv"); 
dest = ConvertCSVtoDataTable ("/home/user/datatable1.csv"); 
int rownum = 0; 
foreach (DataRow dr in src.Rows) 
{ 
    foreach (DataColumn dc_src in src.Columns) 
    { 
     if (dest.Columns.Contains (dc_src.ToString())) 
     { 
      dest.Rows.Add(); 
      dest.Rows[rownum][dc_src.ColumnName] = dr[dc_src.ColumnName]; 
     } 
    } 
    rownum++; 

} 
관련 문제