Все, есть некоторые вопросы по этому поводу, но я не могу извлечь достаточную информацию для решения проблемы для моего дела. Я извлекаю неизвестное количество таблиц в SQL Server "Tab1", "Tab2", "Tab3",..., "TabN". Столбцы в этих таблицах отличаются друг от друга, но определения строк одинаковы. Мне нужно вывести все данные с сервера на N DataTable
, а затем объединить их, чтобы сформировать один 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++;
}
...
}
Это объединяет DataTable
, но они выровнены по очкам (заполнение пустых ячеек на добавленный набор данных). Я мог бы добавить столбцы нового DataTable
через цикл; , но есть ли более простой способ сделать это (возможно, используя LINQ)?
Спасибо за ваше время.
Изменить. Чтобы предоставить примеры наборов данных.
Мне нужно
Отдельные таблицы
После первой операции Merge у меня есть следующий
Еще раз спасибо.