代码之家  ›  专栏  ›  技术社区  ›  Jimenemex

从其他较小的数据表填充数据表

  •  0
  • Jimenemex  · 技术社区  · 6 年前

    我有一个 async 操作将输出并用一些参数填充一个数据表,它会重复几次,所以每次输出它都会得到一个数据表。

    我想将这些较小的数据表保存到较大的数据表中。我在哪里试着 DataTable table 是表示较小数据表和 dtMain 是较大的数据表。我把它放在一个循环中,每次迭代, table 应该复制到 Rows 进入之内 DTMIN :

        DataTable table = await SomeOperationWhichReturnsADataTable();
        DataTable dtMain;
    
        if (dtMain.Rows.Count == 0) // Copy over Rows and Columns since dtMain is empty
        {
            dtMain = table.Copy();
        }
        else
        {
            foreach (DataRow dataRow in table.Rows) // Just copy the Rows
            {
                dtMain.Rows.Add(dataRow.ItemArray);
            }
        }
    }
    

    除了为每个表复制行之外,还有更好的方法吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Armando Bracho    6 年前

    Merge

    DataTable table = await SomeOperationWhichReturnsADataTable();
    DataTable dtMain;
    /*Not sure about this validation as no information about dsActv
     was provided so i will leave it as is*/
    if (dsActv.Rows.Count == 0) // Copy over Rows and Columns
    {
        dtMain= table.Copy();
    }
    else
    {
        dtMain.Merge(table);
    }