C# 表復制和數據行的復制說明(Clone、ImportRow 、Copy )


/// <summary>        

/// 構建測試數據表        

/// </summary>        

/// <returns></returns>        

private DataTable GetTB()        

{            

//定義表結構            

DataTable dt = new DataTable();            

dt.Columns.Add("FactoryId");            

dt.Columns.Add("FactoryName");            

dt.Columns.Add("FactoryDescribe");            

dt.Columns.Add("FactoryCode");            

dt.Columns.Add("IsActivation");

dt.TableName = "TbFactor";            

//填充數據            

dt.Rows.Add("1", "河北鋼鐵", "集團總公司", "1000", 1);            

dt.Rows.Add("2", "唐山鋼鐵", "集團子公司", "1001", 0);            

dt.Rows.Add("3", "宣化鋼鐵", "集團子公司", "1002", 0);            

dt.Rows.Add("4", "寶鋼", "寶山鋼鐵集團", "2000", 1);            

return dt;        

}        

 

/// <summary>        

/// 表的復制(結構和數據)及行的復制示例        

/// </summary>        

private void TableDemo()        

{            

DataTable dt = GetTB();            

DataTable dt2 = dt.Clone();//克隆表結構            

DataTable dt3 = dt.Copy();//復制表結構和數據            

if (dt.Rows.Count > 0)            

{                

// 示例1:復制指定的行到新表                

foreach (DataRow dr in dt.Rows)                

{                    

if (dr["FactoryId"].ToString() == "1" && dr["IsActivation"].ToString() != "1")                    

{                        

dt2.ImportRow(dr);//復制行數據到新表                    

}                

}                

//示例2: Copy from the results of a Select method

/ /select返回的是一個行數組DataRow[]                

foreach (DataRow dr in dt.Select("FactoryId='1'"))                

{                    

dt2.ImportRow(dr);//復制行數據到新表                

}                

//示例3:Copy from the results of a DataView.                

DataView dv = dt.DefaultView;                

dv.RowFilter = "FactoryCode = '1002'";                

foreach (DataRowView rv in dv)                

{                    

dt2.ImportRow(rv.Row););//復制行數據到新表                

}                           

}        

}


免責聲明!

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



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