猿问

将n个数据表组合成一个数据表

所有人,对此都有一些疑问,但是我似乎无法提取足够的信息来解决我的问题。我将未知数量的表提取到SQL Server'Tab1','Tab2','Tab3',...,'TabN'中。这些表中的列不同,但行定义相同。我需要将所有数据从Server中拉入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++;

    }

    ...

}

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


慕的地6264312
浏览 351回答 1
1回答
随时随地看视频慕课网APP
我要回答