如何去掉dataset中的重复行

 1建立一个DataSetHelper类(DataSetHelper.cs)

public   class  DataSetHelper
{
    
public DataSet ds;
    
public DataSetHelper(ref DataSet DataSet)
    
{
        ds 
= DataSet;
    }

    
public DataSetHelper()
    
{
        ds 
= null;
    }

    
private 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
    }

    
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;
    }

}
2 建立一个Web窗体,在page_load中写下面的代码
       DataSet ds;
        DataSetHelper dsHelper;
        ds 
=   new  DataSet();
        dsHelper 
=   new  DataSetHelper( ref  ds);

        
//  Create source table
        DataTable dt  =   new  DataTable( " Orders " );
        dt.Columns.Add(
" EmployeeID " , Type.GetType( " System.String " ));
        dt.Columns.Add(
" OrderID " , Type.GetType( " System.Int32 " ));
        dt.Columns.Add(
" Amount " , Type.GetType( " System.Decimal " ));

        dt.Rows.Add(
new   object []  "Sam"525.00 } );
        dt.Rows.Add(
new   object []  "Tom"750.00 } );
        dt.Rows.Add(
new   object []  "Sue"911.00 } );
        dt.Rows.Add(
new  Object[]  "Tom"127.00 } );
        dt.Rows.Add(
new  Object[]  "Sam"14512.00 } );
        dt.Rows.Add(
new  Object[]  "Sue"1517.00 } );
        dt.Rows.Add(
new  Object[]  "Sue"222.50 } );
        dt.Rows.Add(
new   object []  "Tom"243.00 } );
        dt.Rows.Add(
new   object []  "Tom"3378.75 } );

        ds.Tables.Add(dt);
       DataTable td
= dsHelper.SelectDistinct( " DistinctEmployees " , ds.Tables[ " Orders " ],  " EmployeeID " );
       
this .GridView1.DataSource  =  td;
       
this .GridView1.DataBind();

原文名:HOW TO: Implement a DataSet SELECT DISTINCT Helper Class in Visual C# .NET

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: datasetconverter4d是一个数据集转换工具。它能够将不同格式的数据集转换成其他常见的数据集格式,使得数据的使用和分析更加方便。 这个工具解决了数据集转换的痛点问题。在实际的数据分析和机器学习,常常需要处理不同格式的数据集。例如,一个数据集可能是CSV格式,另一个数据集可能是Excel格式,而我们希望将它们转换成适合机器学习框架使用的格式,如ARFF或者LIBSVM。datasetconverter4d就能够帮助我们完成这样的转换。 使用datasetconverter4d非常简单。首先,我们需要指定输入数据集的格式和路径,以及想要转换成的目标格式。然后,工具会自动将输入数据集转换成目标格式,并输出到指定的路径。转换过程,工具会根据不同的格式进处理,如解析CSV格式的数据,提取出特征和标签等。在转换完成后,我们就可以直接使用转换后的数据集进后续的分析和建模了。 除了数据集格式的转换,datasetconverter4d还提供了其他一些功能。例如,它支持对数据集进切分,可以将一个大的数据集切分为训练集和测试集,便于模型的评估和验证。此外,它还支持对数据集进预处理,如数据清洗、特征选择等,以提高后续模型训练的效果。 总而言之,datasetconverter4d是一个功能强大且易于使用的数据集转换工具。它能够帮助我们快速地将不同格式的数据集转换成目标格式,方便后续的数据分析和机器学习建模。无论是数据科学家、机器学习工程师还是数据分析师,都可以从这个工具受益。 ### 回答2: datasetconverter4d 是一个用于数据集转换的工具。它可以将不同格式的数据集文件转换为其他格式,以方便在不同的数据分析软件使用。 该工具具有以下主要功能: 1. 文件格式转换:datasetconverter4d可以将不同格式的数据集文件转换为常见的数据格式,如CSV、Excel、JSON等。这样做可以使数据在不同软件之间的共享和使用更加便捷。 2. 数据结构转换:该工具还可以将数据集的数据结构进转换。例如,将式数据转换为列式数据,或者将多个数据源合并为一个数据集。这样做可以为后续的数据分析和处理提供更便捷的数据结构。 3. 数据清洗:datasetconverter4d还提供了一些数据清洗功能,如去除重复数据、处理缺失数据、处理异常数据等。这些功能可以帮助用户提高数据的质量和准确性。 4. 数据预处理:该工具还提供了一些数据预处理功能,如数据归一化、数据标准化等。这样做可以为后续的数据分析和建模提供更准确的数据。 datasetconverter4d 是一个功能强大且易于使用的数据集转换工具,可以帮助用户将不同格式和结构的数据集文件转换为需要的格式,进而方便进数据分析和处理。无论是对于数据科学家还是业务分析师来说,这个工具都是一个实用的助手。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值