明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

 

        //此方法将所选字段的唯一值复制到一个新的 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   
        }