zoukankan      html  css  js  c++  java
  • ADO.NET 从DataTable中获取某列含有的不同值的几种方式

    private int getCount()  
     {  
     DataTable dt //已知的datadable ,有上万条记录  
     DataTable newDt=dt.DefaultView.ToTable(true, "city");  
     int num=newDt.Rows.Count;  
     return num;  
    }
    DataTable SourceTable = new SourseTable();
    SourceTable.Columns.Add("Code",string);
    //...向SourseTable中添加数据
    DataView view = new DataView(SourceTable);
    string[] columns = {"Code"}
    DataTable tarTable  = view.ToTable(true,columns);//得到目标
    单列:
     
     
    MyDataContext db = new MyDataContext();  
    var result = (from p in db.t_Personnel  
                      select p.FirstName).Distinct();  
    DataTable dt = new DataTable("SingleDistinct");  
    dt.Columns.Add("FirstName");  
    foreach (var item in result)  
    {  
        DataRow dr = dt.NewRow();  
        dr["FirstName"] = item.ToString();  
        dt.Rows.Add(dr);  
    }  
    dataGridView1.DataSource = dt;  
      
     
     
    多列:
     
     
     
    using System.Data;  
    using System.Collections;  
    namespace Test_Distinct  
    {  
        public class PersonDataRowComparer : IEqualityComparer<t_Personnel>  
        {  
            public bool Equals(t_Personnel t1, t_Personnel t2)  
            {  
                return (t1.ID == t2.ID && t1.FirstName == t2.FirstName);  
            }  
            public int GetHashCode(t_Personnel t)  
            {  
                return t.ToString().GetHashCode();  
            }  
        }  
    }  
      
    MyDataContext db = new MyDataContext();  
    IEnumerable distinctRows = db.t_Personnel.ToList().Distinct(new PersonDataRowComparer());  
    DataTable dt = new DataTable("SingleDistinct");  
    dt.Columns.Add("ID");  
    dt.Columns.Add("FirstName");  
    dt.Columns.Add("LastName");  
    foreach (var item in distinctRows)  
    {  
        DataRow dr = dt.NewRow();  
        dr["ID"] = item.ID;  
        dr["FirstName"] = item.FirstName;  
        dr["LastName"] = item.LastName;  
        dt.Rows.Add(dr);  
    }  
    dataGridView1.DataSource = dt;  
      
  • 相关阅读:
    C# TryParse
    C#委托的学习笔记
    C#基础学习C# 8.0 In a Nut Shell
    Everything学习之三
    Everything学习笔记二
    搜索软件everything帮助文档全文翻译
    Git笔记之基础命令
    Git学习笔记
    附加属性
    日期函数
  • 原文地址:https://www.cnblogs.com/xiexiaokui/p/2843934.html
Copyright © 2011-2022 走看看