C#中的DataTable查询实战教程

时间:2025-03-12 07:36:04

DataTable查询
工作中遇到了需要进行DataTable进行c#教程查询的需求,简单研究了一下,最终使用一下方案实现,简单记录一下便于以后使用。

DataTable dt = ();//获取DataTable所有数据,准备进行查询
DataRow[] dtRow = ("调剂日期=‘"+()+"'");//根据查询条件,筛选出所有满足条件的列
DataTable dtNew = ();//克隆与原表结构相同的新表(不包括数据)
foreach (DataRow item in dtRow)//把满足条件的所有列赛到新表中
{
  (item);
}
(dtNew);//给控件绑定新值(即查询结果)

补充:C# 通过LINQ对DataTable数据查询,结果生成DataTable

我就废话不多说啦,大家还是直接看代码吧~

var query = from g in dt_stu.AsEnumerable()
                  group g by new { 
                      t1 = <string>("STU_ID"), 
                      t2 = <string>("CLASS_ID")
                  } into m
            select new
            {
                STU_ID = .t1,
                CLASS_ID=.t2,
                成绩总合计 = (a => a.Field<decimal>("成绩")),
                优秀人数 = (a => a.Field<decimal>("成绩")>95)
            };
DataTable dt_article = (query); 
  
/// <summary>
/// LINQ返回DataTable类型
/// </summary>
/// <typeparam name="T"> </typeparam>
/// <param name="varlist"> </param>
/// <returns> </returns>
public static DataTable ToDataTable<T>(IEnumerable<T> varlist)
{
    DataTable dtReturn = new DataTable();
  
    // column names
    PropertyInfo[] oProps = null;
  
    if (varlist == null)
        return dtReturn;
  
    foreach (T rec in varlist)
    {
        if (oProps == null)
        {
            oProps = ((Type)()).GetProperties();
            foreach (PropertyInfo pi in oProps)
            {
                Type colType = ;
  
                if (() && (()
                == typeof(Nullable<>)))
                {
                    colType = ()[0];
                }
  
                .Add(new DataColumn(, colType));
            }
        }
  
        DataRow dr = ();
  
        foreach (PropertyInfo pi in oProps)
        {
            dr[] = (rec, null) == null ?  : 
            (rec, null);
        }
  
        .Add(dr);
    }
    return dtReturn;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持