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

时间:2011-06-20 17:33:50

标签: c# ado.net oledb

我尝试使用oledb连接从数据库中读取3列信息(学生ID,名称,主题)到数据表中。它加载很好,我可以把它变成数据表没问题。然后我将datable输出到datagridview。现在我无法弄清楚如何做的是在从数据库读取的3列到同一个表之后再添加2列,并将现在的5列表显示到datagridview。两列信息将来自列表。任何人都可以举例说明如何做到这一点吗?

由于

2 个答案:

答案 0 :(得分:2)

现在这是大量缩写,并做出许多假设(即从查询返回的项目顺序与列表中项目的顺序相同)。但这是基本的想法。

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

答案 1 :(得分:0)

你能发一些代码吗?这样的事情不适合你吗?

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