DataTable1 有列A和B
DataTable2 有列B和C这2个DataTable一个为MYSql一个是MSSql所以无法数据库端合并,如何用C#合并?
之前用了DataTable.Merge()
之后发现他只是将2个DT的记录行合并起来,不是我要实现的

解决方案 »

  1.   

    2个DT合并后变成一个有a b c 3列的DataTable
      

  2.   

    那你就新建一个 datatable ,
    循环一下这两个dt ,把数据加到新建的datatable 就行了。
      

  3.   

    DataTable1.Columns.Add("C");
    DataTable2.Columns.Add("A");
    DataTable1.Merge(DataTable2);
      

  4.   

    写段程序 先select出来再insert进去就行了啊
      

  5.   

    DataTable1.Columns.Add("C");
    DataTable2.Columns.Add("A");
    DataTable1.Merge(DataTable2);这个可行
      

  6.   

    但是我主要的是比如 
    a b 
    1 2
    3 8b c
    2 9
    合并后是
    a b c
    1 2 9
    3 8 而不是 
    a b c 
    1 2 
    3 8 
      2 9
      

  7.   

    参考:http://topic.csdn.net/u/20100414/11/a40e9b12-e4e8-44f7-b753-ae7ee17b94de.html
      

  8.   


    DataTable dt = new DataTable();
    DataColumn col1=new DataColumn("A",tpeof(string));
    DataColumn col2=new DataColumn("B",tpeof(string));
    DataColumn col3=new DataColumn("C",tpeof(string));
    dt.Columns.Add(col1);
    dt.Columns.Add(col2);
    dt.Columns.Add(col3);
    foreach(DataRow dr1 in DataTable1.Rows)
    {
        foreach(DataRow dr2 in DataTable2.Rows)
        {
            if(dr1["B"]==dr2["B"])
            {
               DataRow row = dt.NewRow();
               row["A"] = dr1["A"];
               row["B"] = dr2["B"];
               row["A"] = dr2["C"];   
               dt.Rows.Add(row);//至此为止我已经把两个表中相关联的数据按照你的要求添加上去了。 还有其它的就更好弄了。你自己也动动脑筋吧。OK?
            }
            else
            {
            }
        }
    }