首页 > 数据库 >删除DataTable重复列,类似数据库的Distinct函数。

删除DataTable重复列,类似数据库的Distinct函数。

时间:2022-09-27 10:44:27浏览次数:50  
标签:Rows indexList 删除 Distinct 数据库 int dt DataTable

将数据表放到内存中进行操作,可以极大的提高效率。

/// <summary>   
        /// 删除DataTable重复列,类似distinct   
        /// </summary>   
        /// <param name="dt">DataTable</param>   
        /// <param name="Field">字段名</param>   
        /// <returns></returns>   
        public DataTable DeleteSameRow(DataTable Table, string Field)
        {
            DataTable dt = Table.Copy();
            ArrayList indexList = new ArrayList();
            // 找出待删除的行索引   
            for (int i = 0; i < dt.Rows.Count - 1; i++)
            {
                if (!IsContain(indexList, i))
                {
                    for (int j = i + 1; j < dt.Rows.Count; j++)
                    {
                        if (dt.Rows[i][Field].ToString() == dt.Rows[j][Field].ToString())
                        {
                            indexList.Add(j);
                        }
                    }
                }
            }
            indexList.Sort();
            // 排序
            for (int i = indexList.Count - 1; i >= 0; i--)// 根据待删除索引列表删除行  
            {
                int index = Convert.ToInt32(indexList[i]);
                dt.Rows.RemoveAt(index);
            }
            return dt;
        }

 

标签:Rows,indexList,删除,Distinct,数据库,int,dt,DataTable
From: https://www.cnblogs.com/kjgagaga/p/16733687.html

相关文章

  • 修改和删除数据库字段
    --修改表名:ALTER旧表名RENAMEAS新表名ALTERTEACHERRENAMEASTEACHER1--修改teacher这个表,并将其重命名--增加表的字段:ALTERTABLE表名ADD字段名......
  • 如何实现数据库读一致性
    1导读数据的一致性是数据准确的重要指标,那如何实现数据的一致性呢?本文从事务特性和事务级别的角度和大家一起学习如何实现数据的读写一致性。2一致性1.数据的一致性:通......
  • 链接sql数据库
    //windows验证方式stringconnectionStringTest=@"DataSource=ADMINISTRATOR\SQLEXPRESS;InitialCatalog=TestDB;IntegratedSecurity=SSPI;";//建立信任连接(具体含......
  • C#数据库增删改查
    C#链接数据库增删改查的例子 以users表为例,有三个字段,自增长的编号id,int类型;名称name,nvarchar类型,密码pwd,nvarchar类型首先在vs2005中引入usingSystem.Data.SqlClien......
  • C# 数据库链接
    private void button_queding_Click(object sender,EventArgse)        {            string zhanghao=textBox_zhanghao.Text,mima=textB......
  • 关系数据库
    笛卡尔积每一组域的乘积==每一个组织之间相互的组合。其中的子集,不是所有的子集都具有实际意义码1.候选码(Candidatekey):某一个属性可以赢来作为这个数据的关键字,即,可以......
  • 数据库概述
    存储及缓冲区管理数据库中的数据通常驻留在磁盘中,当系统需要对数据进行操作时,要先将其从磁盘读入内存。存储管理器的任务是控制数据在磁盘上的放置和数据在磁盘与内存之......
  • C#的System.Data.DataTable各个属性和方法
    在项目中常常常使用到DataTable,假设DataTable使用得当,不仅能使程序简洁有用,并且可以提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。1、添加引用usin......
  • 【数据库】Postgresql/PG-编写函数实现字段对应加备注
    〇、资料链接 一、背景构建分区表时,删除了表的字段备注信息1、查询语句selectc.relname表名,cast(obj_description(relfilenode,'pg_class')asvarc......
  • 手把手教你连接腾讯云linux的mysql数据库
    我的腾讯云linux服务器操作系统是CentOS7.6,mySql数据库是5.7。做为学习服务器在上面安装了mysql数据库用于自己的学习和产品展示。目录:1.安装环境检查2.安装mysql5.73......