• Asp.Net : 实现一个 DataSet 或DataTable SELECT DISTINCT (字段唯一性)


            //此方法将所选字段的唯一值复制到一个新的 DataTable 。 如果字段包含 NULL 值,目标表中的记录还包含 NULL 值 
            public DataTable SelectDistinct(string TableName, DataTable SourceTable, string FieldName)
            {
                DataTable dt 
    = new DataTable(TableName);
                dt.Columns.Add(FieldName, SourceTable.Columns[FieldName].DataType);

                
    object LastValue = null;
                
    foreach (DataRow dr in SourceTable.Select("", FieldName))
                {
                    
    if (LastValue == null || !(ColumnEqual(LastValue, dr[FieldName])))
                    {
                        LastValue 
    = dr[FieldName];
                        dt.Rows.Add(
    new object[] { LastValue });
                    }
                }
                
    ////if (ds != null)
                
    ////ds.Tables.Add(dt);
                return dt;
            }
            
    static bool ColumnEqual(object A, object B)
            {           
                
    if (A == DBNull.Value && B == DBNull.Value)   //   both   are   DBNull.Value   
                    return true;
                
    if (A == DBNull.Value || B == DBNull.Value)   //   only   one   is   DBNull.Value   
                    return false;
                
    return (A.Equals(B));   //   value   type   standard   comparison   
            }
  • 相关阅读:
    初级工程师该如何去学习,如何去研发开关电源?
    CentOS-pam认证机制简介
    Linux-密码复杂度限制
    如何写一个简单的webserver(一):最简实现
    MySQL5.6绿色版安装(mysql-5.6.24-winx64.zip)
    Linux忘记roo密码的解决办法
    Linux中的netstat命令详解
    WireShark抓包分析(二)
    Wireshark抓取TCP包分析
    Wireshark 基本介绍和学习 TCP 三次握手
  • 原文地址:https://www.cnblogs.com/Fooo/p/1513696.html
Copyright © 2020-2023  润新知