日期:2014-05-17  浏览次数:20406 次

有什么好办法将多个DataTable对象添加到一个datatable对象中???
如下:

DataTable result = new DataTable();//需要返回的最终表集合


for...
{
DataTable dt_temp = dt...//获取的表结构都是一样的,只是值不一样,获取的表都添加到result中
}


请问如何实现???

最好不要说改sql语句(如:union all...),因为我获取datatable的函数时写好的。。

------解决方案--------------------
for...
{
result=result.AsEnumerable().Concat(dt_temp.AsEnumerable()).CopyToDataTable();
}
------解决方案--------------------
DataTable dt_temp = dt...//获取的表结构都是一样的,只是值不一样,获取的表都添加到result中
??????

怎么3个DataTable??

你是要把dt_temp 表里数据加到result 吗??


result=dt_temp.Clone();
for(循环dt_temp表)

 result.ImportRow(行);

------解决方案--------------------
之前处理过这个问题
按照你这样做 会出现问题。读取所有的数据的时候,相同的数据肯定会被覆盖掉
所以建议用临时表,方便也提高效率
------解决方案--------------------
用result.Merge(dt);
------解决方案--------------------
DataTable dt =new DataTable();
DataTable dt1 =new DataTable();
DataTable dt2 =new DataTable();
dt.Merge(dt1)
dt.Merge(dt2)