C# 中 foreach 循環迭代中的列不屬于數據表。我正在將行記錄插入到數據表中,但是面對的列不屬于數據表。//Prepare Datatable and Add All Columns Here DataTable dt = new DataTable(); DataRow row; DataColumn dc = new DataColumn(); dc.DataType = System.Type.GetType("System.String"); dc.ColumnName = "title"; dc.ReadOnly = false; dc.Unique = true; dc.AutoIncrement = false; dc.DataType = System.Type.GetType("System.String"); dc.ColumnName = "link"; dc.ReadOnly = false; dc.Unique = true; dc.AutoIncrement = false; foreach (XmlNode rssNode in rssNodes) { XmlNode rssSubNode = rssNode.SelectSingleNode("title"); string title = rssSubNode != null ? rssSubNode.InnerText : ""; rssSubNode = rssNode.SelectSingleNode("link"); string link = rssSubNode != null ? rssSubNode.InnerText : ""; //Add new row and assign values to columns, no need to add columns again and again in loop which will throw exception row = dt.NewRow(); //Map all the values in the columns row["title"] = title; row["link"] = link; //At the end just add that row in datatable dt.Rows.Add(row); }
1 回答

富國滬深
TA貢獻1790條經驗 獲得超9個贊
在設置每一列之前,您需要調用dc = new DataColumn();對第一列而不是第二列所做的操作。設置好列的所有參數后,需要將其添加到表中dt.Columns.Add(dc);。
DataColumn dc;
dc = new DataColumn();
dc.DataType = System.Type.GetType("System.String");
dc.ColumnName = "title";
dc.ReadOnly = false;
dc.Unique = true;
dc.AutoIncrement = false;
dt.Columns.Add(dc);
dc = new DataColumn();
dc.DataType = System.Type.GetType("System.String");
dc.ColumnName = "link";
dc.ReadOnly = false;
dc.Unique = true;
dc.AutoIncrement = false;
dt.Columns.Add(dc);
- 1 回答
- 0 關注
- 140 瀏覽
添加回答
舉報
0/150
提交
取消