当前位置:编程学习 > C#/ASP.NET >>

怎样将两个DataTable和在一起???

DataTable dtHourNow = MonitoringAllDatasService.GetMonitoringBuildingReportByHourSumDatas(EType, str_rttime, TargetValue, DType);


DataTable dtHourOlder = MonitoringAllDatasService.GetMonitoringBuildingReportByHourSumHDatas(EType, DateValue, TargetValue, DType);
                                    //合并结果集
                                    
foreach (DataRow dr in dtHourNow.Rows)
                                    {
                                        dtHourOlder.Rows.Add(dr);                                    }

                                    dtHour = dtHourOlder;

问题:
     这样循环合并DataTable不行,提示此行已经属于别的表。     应该怎么办???

怎样将两个DataTable( dtHourNow 和dtHourOlder)合在一起???

--------------------编程问答-------------------- 参考:
http://www.cnblogs.com/aflyfly/archive/2009/06/04/1495939.html

http://blog.csdn.net/even0220/article/details/5748710 --------------------编程问答--------------------   dtHourOlder.Rows.Add(dr);  
改成
  dtHourOlder.Rows.Add(dr.ItemArray);   --------------------编程问答--------------------  http://msdn.microsoft.com/zh-cn/library/system.data.datatable.merge(v=vs.110).aspx --------------------编程问答--------------------
            DataTable newDataTable = DataTable1.Copy();


            foreach (DataRow dr in DataTable2.Rows)

            {

                newDataTable.ImportRow(dr);

            }
--------------------编程问答-------------------- 微软已经写了,不需要再造轮子的
自己google"DataTable.Merge"方法

--------------------编程问答--------------------
引用 5 楼 wanghui0380 的回复:
微软已经写了,不需要再造轮子的
自己google"DataTable.Merge"方法

昨天看了下就是我上面的官网连接提到的方法 示例中2个datattable的结构是一样的 --------------------编程问答--------------------
引用 楼主 starrycheng 的回复:
DataTable dtHourNow = MonitoringAllDatasService.GetMonitoringBuildingReportByHourSumDatas(EType, str_rttime, TargetValue, DType);


DataTable dtHourOlder = MonitoringAllDatasService.GetMonitoringBuildingReportByHourSumHDatas(EType, DateValue, TargetValue, DType);
                                    //合并结果集
                                    
foreach (DataRow dr in dtHourNow.Rows)
                                    {
                                        dtHourOlder.Rows.Add(dr);                                    }

                                    dtHour = dtHourOlder;

问题:
     这样循环合并DataTable不行,提示此行已经属于别的表。     应该怎么办???

怎样将两个DataTable( dtHourNow 和dtHourOlder)合在一起???

同意! --------------------编程问答--------------------
引用 1 楼 maco_wang 的回复:
参考:
http://www.cnblogs.com/aflyfly/archive/2009/06/04/1495939.html

http://blog.csdn.net/even0220/article/details/5748710
--------------------编程问答-------------------- 以前做过,貌似要datatable.clone();克隆表结构神马的,有空帮你试试~~~ --------------------编程问答-------------------- 你那样要用ImportRow,而不是Add
其实可以直接用DataTable.Merge方法 --------------------编程问答-------------------- ok  上面的方法非常好  可以结贴了
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,