discoverx

博客园 首页 新随笔 联系 订阅 管理

 /// <summary>
        /// 删除DataTable中重复的记录  

      /// </summary>
        /// <param name="ds"></param>
        /// <returns></returns>
        public DataSet DeleteSameData(DataSet ds)
        {
            DataSet resultds = ds.Clone();
            DataSet Tempds=ds;        

            int count = 0;        

            if (ds != null && ds.Tables.Count > 0)
            {
                count = ds.Tables[0].Rows.Count;

                for (int i = 0; i < count; i++)
                {
                    DataRow dri = Tempds.Tables[0].Rows[i];

                    if (dri.RowState == DataRowState.Deleted) continue;

                    resultds .Tables[0].ImportRow(dri);

                    for (int j = i + 1; j < count; j++)
                    {
                        DataRow drj = Tempds.Tables[0].Rows[j];
                        if (drj.RowState == DataRowState.Deleted) continue;
                         if (anwercount <= 1) continue;

                        //判断相同
                        bool flage = false;
                        flage = JudgeSame(dri, drj);
                        if (flage)
                        {
                            //除去相同

                            Tempds.Tables[0].Rows[j].Delete();
                        }
                       

                    }
                }

            }   


            return resultds ;
        }
      

posted on 2011-09-22 14:06  discoverx  阅读(201)  评论(0编辑  收藏  举报