结构相同的两个dataset合并

2024-11-06 18:49:47
有4个网友回答
网友(1):

当返回的两个DataSet结构相同时 可以用Merge合并:
DataSet ds1=new DataSet();
DataSet ds2=new DataSet();
//将ds2中的数据合并到ds1中
ds1.Merge(ds2,true,MissingSchemaAction.AddWithKey);
ds1就是合并之后的集合。

备注:DataSet.Merge (DataSet, Boolean, MissingSchemaAction)
方法参数说明:
dataSet : 数据和架构将被合并的 DataSet 。
preserveChanges : 要保留当前 DataSet 中的更改,则为 true ;否则为 false 。
missingSchemaAction :MissingSchemaAction 值之一。

网友(2):

DataTable dtA = new DataTable();
DataTable dtB = new DataTable();

dtA.Columns.Add("id");
dtA.Columns.Add("name");
dtA.Constraints.Add("pk_id", dtA.Columns["id"], true);

dtB.Columns.Add("id");
dtB.Columns.Add("major");
dtB.Constraints.Add("pk_id", dtB.Columns["id"], true);

DataRow dr;

dr = dtA.NewRow();
dr["id"] = 1;
dr["name"] = 4;
dtA.Rows.Add(dr);

dr = dtA.NewRow();
dr["id"] = 2;
dr["name"] = "e";
dtA.Rows.Add(dr);

dr = dtA.NewRow();
dr["id"] = 3;
dr["name"] = "r";
dtA.Rows.Add(dr);

dr = dtB.NewRow();
dr["id"] = 2;
dr["major"] = "p";
dtB.Rows.Add(dr);

dtA.Merge(dtB, false, MissingSchemaAction.AddWithKey);
foreach (DataRow dr1 in dtA.Rows)
{
foreach (DataColumn dc in dtA.Columns)
{
Console.Write(dr1[dc].ToString() + "\t");
}
Console.WriteLine();
}

网友(3):

手动进行合并,建个新的DataTable有3个Colum(id,name,major)
吧2个DataSet的表里信息取出来对应放到新的DataTable里

网友(4):

手动合并吧