C# 將DataTable一行放入另一個DataTable中


http://blog.csdn.net/huyu107/article/details/53509171

 

 

概述

從一個DataTable中取一行放到另一個DataTable里報錯: 該行已經屬於另一個表

第一種方法:

DataTable dt = new DataTable();
dt = ds.Tables["All"].Clone();//克隆All的結構傳遞給dt DataRow[] dr=this.dataSet31.Tables["Product"].Select("bc=1"); //通過條件得到符合條件的行 for(int i=0;i<dr.Length;i++) { //將數組元素加入表... dt.Rows.Add(dr[i]);//出錯提示為:該行已經屬於另一個表 } // 修改后 DataTable dt = new DataTable(); dt = ds.Tables["All"].Clone();//克隆All的結構傳遞給dt DataRow[] dr=this.dataSet31.Tables["Product"].Select("bc=1"); //通過條件得到符合條件的行 for(int i=0;i<dr.Length;i++) { //將數組元素加入表... dt.Rows.Add(dr[i].ItemArray); }

第二種方法:

DataTable dt1 = new DataTable(); DataTable calcdt = new DataTable(); // dt1只是獲取表結構,無數據; // calcdt 有表結構,有數據 // 原方法 foreach (DataRow dr in calcdt.Rows) { dt1.Rows.Add(dr); } // 改進后的方法 DataRow drcalc; foreach (DataRow dr in calcdt.Rows) { drcalc = dt1.NewRow(); drcalc.ItemArray = dr.ItemArray; dt1.Rows.Add(drcalc); }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM