C# 在c中向数据表添加更多列

C# 在c中向数据表添加更多列,c#,ado.net,oledb,C#,Ado.net,Oledb,我正在尝试使用oledb连接从数据库中将学生id、姓名、主题的3列信息读入datatable。它加载得很好,我可以把它放到数据表中,没问题。然后将数据表输出到datagridview。现在我不知道该怎么做,就是在从数据库读取的3列之后再添加2列到同一个表中,并将现在的5列表显示到datagridview中。这两列信息将来自一个列表。有人能举个例子说明如何做到这一点吗 谢谢现在这是一个大大的缩写,并进行了许多假设,即查询返回的项目顺序与列表中的项目顺序相同。但这是最基本的想法 string col

我正在尝试使用oledb连接从数据库中将学生id、姓名、主题的3列信息读入datatable。它加载得很好,我可以把它放到数据表中,没问题。然后将数据表输出到datagridview。现在我不知道该怎么做,就是在从数据库读取的3列之后再添加2列到同一个表中,并将现在的5列表显示到datagridview中。这两列信息将来自一个列表。有人能举个例子说明如何做到这一点吗


谢谢

现在这是一个大大的缩写,并进行了许多假设,即查询返回的项目顺序与列表中的项目顺序相同。但这是最基本的想法

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];
}

好吧,我有个问题。一旦我将信息填入datatable中的列并手动添加新列,当我填充该列时,数据将添加到datagridview中的下一行。所以它看起来像:身份证名称主题1嗨Math@Greg-我不确定我是否完全遵守了。你能编辑一下你的问题,让我看看它是什么样子的吗?对不起,我想我刚刚搞定了。只需要稍微调整一下。谢谢