首页 > 其他 > 详细

DataSet筛选数据然后添加到新的DataSet中引发的一系列血案

时间:2015-09-16 00:50:33      阅读:160      评论:0      收藏:0      [点我收藏+]

直入代码:

            var ds2 = new DataSet();
            if (ds.Tables.Count > 0)
            {
                var rows = ds.Tables[0].Select(" usertype <> ‘UU‘");
                if (rows.Length>0)
                {
                    DataTable tmp = rows[0].Table.Clone(); // 复制DataRow的表结构
                    foreach (DataRow row in rows)
                        tmp.ImportRow(row); // 将DataRow添加到DataTable中
                    ds2.Tables.Add(tmp);
                }
            }        

上面的代码看似简单,但是会有很多陷阱,比如,网上照的方法,将DataRow添加到DataTable中是tmp.Rows.Add,然而这种方式会报一个“该行已经属于另一个表”的错误,
而我上面的ImportRow已经解决此问题。

为什么会报这个错了,我们来往下分析:

我们在做项目的时候,一般会使用这三个方法去实现:

一、DataTable.Rows.Add(DataRow.ItemArray);

二、DataTable.ImportRow(DataRow)

三、设置DataTable的tablename,然后.Rows.Add

第一种方法在项目中用到,确实好用!不过感觉第二种应该更好用一些。

DataSet筛选数据然后添加到新的DataSet中引发的一系列血案

原文:http://www.cnblogs.com/EasonJim/p/4811926.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!