所有人,对此都有一些疑问,但是我似乎无法提取足够的信息来解决我的问题。我将未知数量的表提取到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)呢?