c#拷贝datatable行_C# 将DataTable复制到另一个DataTable

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-1 11:41   11   0

2018-11-22 更新 以前以为 DataTable复制到另一个DataTable 要相同结构的表才可以复制,今天无意发现,只要列大于或等于被复制的表即可

原创来自 http://www.luofenming.com/show.aspx?id=ART2017062700001

private void TestDataTable()

{

DataTable dt1 = CreateDataTable();

DataTable dt2 = dt1.Clone();//复制dt1表数据结构

foreach (DataRow dr in dt1.Rows)

{

dt2.Rows.Add(dr.ItemArray);//不是同一个表不能直接添加dr 如果是同一个表则可以

}

//以上是将一个表复制到另一个表结构一样的表里面

//其实也可以把dt1复制到表结构不一样的表里面

DataTable dt3 = new DataTable();

dt3.Columns.Add("test1");

dt3.Columns.Add("test2");

dt3.Columns.Add("test3");

foreach (DataRow dr in dt1.Rows)

{

//dt1是一个2列的表 dt3是一个3列的表

dt3.Rows.Add(dr.ItemArray);//表dt3比表dt1多一列照样可以复制

//只要dt3列大于或等于dt1的列都可以,就是不能比dt1列少

//添加dr.ItemArray行是根据索引顺序添加的,不是对应列名

}

}

///

/// 创建一个表

///

///

private DataTable CreateDataTable()

{

DataTable dt1 = new DataTable();

dt1.Columns.Add("lqwvje_name");

dt1.Columns.Add("lqwvje_QQ");

DataRow dr1 = dt1.NewRow();

dr1["lqwvje_name"] = "罗分明";

dr1["lqwvje_QQ"] = 78630559;

dt1.Rows.Add(dr1);

DataRow dr2 = dt1.NewRow();

dr2["lqwvje_name"] = "lqwvje";

dr2["lqwvje_QQ"] = "2334160";

dt1.Rows.Add(dr2);

return dt1;

}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP