2017-11-07 6 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

はほとんどこれは、C#の問題はなく、標準のDBの問題ではありません - ので、あなたは何を試してみましたか? – BugFinder

+0

あなたの仕事を提供してください。 – Saadi

+0

少し塩味がありますが、私を助けてくれてくれてありがとう!!私は自分でそれを得て、それは私のような初心者のために本当に良い感じ! 解決策が開始ポストにあります –

答えて

0

私は解決策が見つかりました:

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

} 
関連する問題