Добавление большего количества столбцов в datatable в c # - PullRequest
0 голосов
/ 20 июня 2011

Я пытаюсь прочитать информацию из трех столбцов (идентификатор студента, имя, тема) в базу данных из базы данных, используя соединение oledb.Он загружается нормально, и я могу получить его в Datatable без проблем.Затем я вывожу данные в таблицу данных.Теперь я не могу понять, как это сделать, это добавить еще 2 столбца после того, как 3 столбца будут считаны из базы данных, в ту же таблицу и отобразить таблицу из 5 столбцов для таблицы данных.Два столбца информации будут взяты из списка.Кто-нибудь может привести пример, как это сделать?

Спасибо

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

Теперь это сильно сокращено и делает много предположений (т.е. порядок элементов, возвращаемых из запроса, совпадает с порядком элементов в ваших списках).Но это основная идея.

string columnFourName = "Col4";
string columnFourName = "Col5";
List<object> columnFourItems = new List<object>()
List<object> columnFiveItems = new List<object>()
SqlConnection oConn = new SqlConnection("SomeConnstring);
oConn.Open();
SqlCommand oComm = new SqlCommand("SELECT * FROM Stuff", oConn);
SqlDataAdapter sda = new SqlDataAdapter(oComm);
DataTable dt = new DataTable();
sda.Fill(dt);
dt.Columns.Add(columnFourName, typeof(object));
dt.Columns.Add(columnFiveName, typeof(object));
for (int row = 0; row < dt.Rows.Count; row++)
{
    dt.Rows[row][3] = columnFourItems[row];
    dt.Rows[row][4] = columnFiveItems[row];
}
0 голосов
/ 20 июня 2011

Можете ли вы опубликовать код? Что-то подобное у вас не работает?

DataTable table = ... // populate the table
table.Columns.Add("New Column Name");
...