C# 关于 DataTable 的一些使用

1.抽取其中的distinct数据

DataTable dt;
 
DataView dv = dt.DefaultView;
 
 //ToTable()的第一个参数为是否DISTINCT
DataTable dtDistinct = dv.ToTable(true,"FieldName1","FieldName2","..."); 

 

2.使用Select筛选数据

 1 //查询
 2 DataRow[] drArr = dt.Select("C1='abc'");
 3 
 4 //模糊查询
 5 DataRow[] drArr = dt.Select("C1 LIKE 'abc%'");
 6 //另一种模糊查询的方法
 7 DataRow[] drArr = dt.Select("'abc' LIKE C1 + '%'", "C2 DESC");
 8 
 9 //排序
10 DataRow[] drArr = dt.Select("C1='abc'", "C2 DESC");

 

如果我们要把这些按给定条件筛选出来的数据重新赋给一个新的DataTable

错误示范: 

 DataTable dtNew = dt.Clone();
 for (int i = 0; i < drArr.Length; i++)
 {
     dtNew.Rows.Add(drArr[i]);
 }

(这样会提示DataRow属于其他DataTable)

应该使用下面方法进行赋值:

 DataTable dtNew = dt.Clone();
 for (int i = 0; i < drArr.Length; i++)
 {
     dtNew.ImportRow(drArr[i]);
 }

 

参考链接:

1.https://blog.csdn.net/dengsunshine69/article/details/48004241

2.https://www.cnblogs.com/jianxm/archive/2009/03/31/1426681.html

 

上一篇:c++ 字符串分割写法 一般比较常用 懒得每次都写 记录下


下一篇:转 --集中遍历遍历datatable的方法