相关疑难解决方法(0)

将n个DataTable组合到单个DataTable中

总之,有一些问题,但我似乎无法提取足够的信息来解决我的问题.我将未知数量的表提取到SQL Server"Tab1","Tab2","Tab3",......,"TabN"中.这些表中的列不同,但行定义相同.我需要将服务器中的所有数据拉入N DataTables,然后将它们组合成一个数据DataTable.我现在所做的是

int nTmpVolTabIdx = 1;
strSqlTmp = String.Empty;
using (DataTable dataTableALL = new DataTable())
{
    while (true)
    {
        string strTmpVolName = String.Format("Tab{0}", nTmpVolTabIdx);
        strSqlTmp = String.Format("SELECT * FROM [{0}];", strTmpVolName);

        // Pull the data from 'VolX' into a local DataTable.
        using (DataTable dataTable = UtilsDB.DTFromDB(conn, strTmpVolName, strSqlTmp, false))
        {
            if (dataTable == null)
                break;
            else
                dataTableALL.Merge(dataTable);
        }
        nTmpVolTabIdx++;
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

这将合并DataTables但它们未对齐(将空白单元格填充到附加数据集上).我可以DataTable通过循环追加新的列; 但有没有更简单/更好的方法(也许使用LINQ)?

谢谢你的时间.

编辑.提供示例数据集.

我需要的是

完整的DataTable

个别表是

标签

在第一次合并操作后,我有以下内容

合并之后

再次感谢.

c# datatable

17
推荐指数
1
解决办法
6万
查看次数

标签 统计

c# ×1

datatable ×1