0
2つのデータテーブルdt1とdt2があり、どちらも共通の列を共有しています。共通列をマップし、データ付きの新しい列をデータ表dt1に追加する方法。 select文をDT2ため、同様別のデータテーブルからデータテーブルに列を追加する方法
DataTable dt1=new DataTable();
DataTable dt2=new DataTable();
sqlDataAdapter da1=new sqlDataAdapter("select col1,col2,col3,col4 from table",connection);
dataset ds1=new dataset();
da1.fill(ds);
dt1=ds.tables[0];
残りDT1と同じである "sometableからsomecolは、COL1を選択" です。
出力されたDT1のため:と私は以下のようにしようとしたDT2
col1 col2 col3 col4 col1 somecol
1 2 3 4 1 true
2 5 6 ... 2 false..
用出力:
col1 col2 col3 col4 somecol
1 2 3 4 true
2 5 6 7 false...
:
datatable dtTotal=new datatable();
dtTotal=dt1.clone();
foreach(datacolumn col in dt2.columns)
{
if(col.columnname=="somecol")
{
dtTotal.columns.add("somecol");
dtTotal.columns["somecol"].Datatype=col.Datatype;
}
}
foreach(datarow dr in dt1.rows)
{
dtTotal.importrows(dr);
}
//here a column is added but i don't understand how to import data into that column
私は以下のようなoutpuを持つようにしたいですdt2データはより複雑な計算から来ているため、データ自体を選択している間は単純な結合を書くことはできません。だから私はdatatableレベルでのみそれを行う必要があります。
dt1の行数がdt2の行数と一致しない場合、dt2にデフォルト値falseの新しい行を追加する必要があります。