c#对Datatable数据的处理:DataTable.Select()和DataTable.DefaultView.ToTable();DataRow转DataTable

2023年1月19日09:58:34

在sql语句将数据筛选出来后需要在程式在再对数据进行操作比較频繁,以下为整理的部分常用处理方式。

1、DataTable.Select();
DataTable.Select()有4个方法的重载,可以进行简单的搜索和排序,以下为常用的数据处理方法。

DataRow[] drArr = dt.Select("列名=’条件’"); //精准条件查询
DataRow[] drArr = dt.Select("列名 LIKE ’%条件%’"); //模糊查询
DataRow[] drArr = dt.Select("列名1=’条件1’ and 列名2 LIKE ’%条件2%’"); //多条件查询
DataRow[] drArr = dt.Select("列名 LIKE ’%条件%’","排序列名 ASC"); //模糊查询并进行排序
DataRow[] drArr = dt.Select("列名 LIKE ’%条件%’","排序列名 ASC,排序列名2 DESC"); //模糊查询并进行多列排序

2、DataTable.DefaultView.ToTable(); //将指定列重复值合并类似group by

 DataTable DT = dt.DefaultView.ToTable(true, "列名"); //将指定列重复值合并类似group by

3、DataRow转DataTable
相信有很多小伙伴和我一样,在通过DataTable.Select();方法使用后,因为程式需要,需要将DataRow转DataTable,以下为参考方法。

(1)、DataTable -> DataRow -> DataTable

// 去除沒寫入廠商的數據
DataTable dtVendor = VendorDataTable.Clone();
DataRow[] Rows = VendorDataTable.Select("Vendor <> ''");
foreach (DataRow DR in Rows)
{
    dtVendor.ImportRow(DR);
}

(2)、 DataRow -> DataTable

if (rows== null || rows.Length == 0) 
return null;  
DataTable dtVendor = rows[0].Table.Clone();  // 复制DataRow的表结构  
foreach (DataRow DR in rows)  
dtVendor.Rows.Add(DR.ItemArray);  // 将DataRow添加到DataTable中 

  • 作者:认真看海
  • 原文链接:https://blog.csdn.net/qq_41894426/article/details/106760773
    更新时间:2023年1月19日09:58:34 ,共 1011 字。