将新列和数据添加到已包含数据的数据表 – c#
如何将一个新的DataColumn
添加到已经包含数据的DataTable
对象?
伪代码
//call SQL helper class to get initial data DataTable dt = sql.ExecuteDataTable("sp_MyProc"); dt.Columns.Add("NewColumn", type(System.Int32)); foreach(DataRow row in dr.Rows) { //need to set value to NewColumn column }
只要继续使用你的代码 – 你正确的道路上:
//call SQL helper class to get initial data DataTable dt = sql.ExecuteDataTable("sp_MyProc"); dt.Columns.Add("NewColumn", typeof(System.Int32)); foreach(DataRow row in dt.Rows) { //need to set value to NewColumn column row["NewColumn"] = 0; // or set it to some other value } // possibly save your Dataset here, after setting all the new values
应该不是foreach
而不是!
//call SQL helper class to get initial data DataTable dt = sql.ExecuteDataTable("sp_MyProc"); dt.Columns.Add("MyRow", **typeof**(System.Int32)); foreach(DataRow dr in dt.Rows) { //need to set value to MyRow column dr["MyRow"] = 0; // or set it to some other value }
这是一个可选的解决scheme,以减lessFor / ForEach循环,这将减less循环时间和更新快速:)
dt.Columns.Add("MyRow", typeof(System.Int32)); dt.Columns["MyRow"].Expression = "'0'";
尝试这个
> dt.columns.Add("ColumnName", typeof(Give the type you want)); > dt.Rows[give the row no like or or any no]["Column name in which you want to add data"] = Value;
只有你想设置默认值参数。 这个调用第三个重载方法。
dt.Columns.Add("MyRow", type(System.Int32),0);