总之,有一些问题,但我似乎无法提取足够的信息来解决我的问题.我将未知数量的表提取到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)?
谢谢你的时间.
编辑.提供示例数据集.
我需要的是

个别表是

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

再次感谢.