博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DataSet筛选数据然后添加到新的DataSet中引发的一系列血案
阅读量:5244 次
发布时间:2019-06-14

本文共 811 字,大约阅读时间需要 2 分钟。

直入代码:

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

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

转载于:https://www.cnblogs.com/EasonJim/p/4811926.html

你可能感兴趣的文章
Redux源码分析之createStore
查看>>
POJ 2060 最小路径覆盖
查看>>
label标签作用
查看>>
Selenium2之Web自动化编写配置(Java)
查看>>
windown快速安装xgboost
查看>>
tarjan(缩点)
查看>>
Lombok插件
查看>>
Linux上安装Libssh2
查看>>
自定义EL函数
查看>>
stm32的电源
查看>>
splice的多种用法
查看>>
20162304 2017-2018-1 《程序设计与数据结构》第二周学习总结
查看>>
九.python面向对象(双下方法内置方法)
查看>>
2018-09-12
查看>>
go:channel(未完)
查看>>
[JS]递归对象或数组
查看>>
CSS与Theme的作用——Asp.Net
查看>>
LeetCode(17) - Letter Combinations of a Phone Number
查看>>
20165115 2017-2018-2 《Java程序设计》第四周学习总结
查看>>
Linux查找命令对比(find、locate、whereis、which、type、grep)
查看>>