http://blog.csdn.net/lovexiaoxiao/article/details/3734932

//在sql中我们使用distinct查询不重复记录
    //然而我在项目中表关系的设置,就不能使用distinct,必须把数据读出来以后才能进行查询,下面写了一个方法用Dataview实现这个功能
    private void test()
    {
        DataTable dt = new DataTable();
        //定义表结构
        dt.Columns.Add("id", typeof(System.Int32));
        dt.Columns.Add("name", typeof(System.String));
        //添加第一行数据 (并且添加重复数据)
        DataRow drs01 = dt.NewRow();
        drs01[0] = 1;
        drs01[1] = "xiaoyu";
        dt.Rows.Add(drs01);
        //添加第二行数据
        DataRow drs02 = dt.NewRow();
        drs02[0] = 2;
        drs02[1] = "xiaowang";
        dt.Rows.Add(drs02);
        //添加第三行数据
        DataRow drs03 = dt.NewRow();
        drs03[0] = 3;
        drs03[1] = "xiaoyu";
        dt.Rows.Add(drs03);
        //添加第四行数据
        DataRow drs04 = dt.NewRow();
        drs04[0] = 4;
        drs04[1] = "yujinsheng";
        dt.Rows.Add(drs04);
        //将Table填充到DataView并添加新的数据
        DataView dataView = new DataView(dt);
        //没有经过DataView 筛选的name
        Response.Write("没有筛选条件的数据<br/>");
        foreach (DataRow dr in dataView.Table.Rows)
        {
            Response.Write(dr["name"]+"<br/>");
        }
        //经过DataView筛选name 字段不重复的数据
        DataView myDataView = new DataView(dt);
        string[] strComuns ={"name"};
        DataTable nn= myDataView.ToTable(true, strComuns);
        Response.Write("名字不重复的数据<br/>");
        foreach (DataRow dr in nn.Rows)
        {
            Response.Write(dr["name"]+"<br/>");
        }
    }

运行效果:

没有筛选条件的数据
xiaoyu
xiaowang
xiaoyu
yujinsheng
名字不重复的数据
xiaoyu
xiaowang
yujinsheng

Datatable 中的数据查询(查询不重复记录)的更多相关文章

  1. 使用linq 对 DataTable 中的数据进行 查询 与 分类求合

    A:linq 的查询方式写得可以非常简洁如下所示: DataTable dt = null;        private void XtraForm1_Load(object sender, Eve ...

  2. oracle_SQL 实验查询及删除重复记录 依据条件 (row)

    除数据库表中的重复记录 根据条件 ① 创建表准备数据 创建表 tab_test -- Create table create table TAB_TEST ( ID NUMBER, NAME NVAR ...

  3. [SQL]查询及删除重复记录的SQL语句

    一:查询及删除重复记录的SQL语句1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select ...

  4. MySQL查询及删除重复记录的方法

    查询及删除重复记录的方法(一)1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select p ...

  5. Oracle 查询并删除重复记录的SQL语句

    查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select  ...

  6. oracle 查询及删除重复记录的SQL语句

    查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group ...

  7. SqlBulkCopy将DataTable中的数据批量插入数据库中

    #region 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 /// <summary> /// 注意:DataTable中的列需要与数据库表中的列完全一致.// ...

  8. 【转载】C#中遍历DataTable中的数据行

    在C#中的Datatable数据变量的操作过程中,有时候我们需要遍历DataTable变量获取每一行的数据值,例如将DataTable变量转换为List集合的时候,我们就会遍历DataTable变量, ...

  9. list转datatable,SqlBulkCopy将DataTable中的数据批量插入数据库

    /// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name="list&q ...

随机推荐

  1. DNS预读取 dns-prefetch 提升页面载入速度

    DNS Prefetch,即DNS预获取,是前端优化的一部分.一般来说,在前端优化中与 DNS 有关的有两点: 一个是减少DNS的请求次数,另一个就是进行DNS预获取 . DNS 作为互联网的基础协议 ...

  2. MySQL_约束

    MySQL中约束的作用是对表中的数据进行限定,保证数据的正确性,完整性,有效性. 分类:(1)主键约束 primary key(2)非空约束 not NULL (3)唯一约束 unique (4)外键 ...

  3. 随堂小测APP使用体验

    随堂小测APP使用体验 先要去注册账号需要填写用户名.密码.手机号.学号/教师号.学校.专业.即可注册,注册成功后,即可登录APP进,登陆进去以后.会有两个界面,课堂和我的,注册.登录简单,通俗易懂, ...

  4. python3学习笔记(二):Python初识

    一.算法 在开始认真地编程之前,首先来解释下什么是计算机程序设计.简单地说,它就是告诉计算机要做什么.计算机可以做很多事情,但是它不会自己思考,需要我们告诉它具体细节,并且使用计算机能够理解的语言把算 ...

  5. Apache配置详解(最好的APACHE配置教程)

    From: http://aiks.blog.com.cn/archives/2006/1748482.shtml Apache的配置 Apache的配置由httpd.conf文件配置,因此下面的配置 ...

  6. @清晰掉 c语言三"巨头" const:volatile:static

    const: 1.如果把const放在变量类型前,说明这个变量的值是保持不变的(即为常量),改变量必须在定义时初始化,初始化后对她的任何赋值都是非法的. 2.当指针或是引用指向一个常量时,必须在类型名 ...

  7. send()/ recv() 和 write()/ read()

    Linux下数据的接收和发送write()/ read() Linux 不区分套接字文件和普通文件,使用 write() 可以向套接字中写入数据,使用 read() 可以从套接字中读取数据. 两台计算 ...

  8. 【机器学习速成宝典】模型篇02线性回归【LR】(Python版)

    目录 什么是线性回归 最小二乘法 一元线性回归 多元线性回归 什么是规范化 Python代码(sklearn库) 什么是线性回归(Linear regression) 引例 假设某地区租房价格只与房屋 ...

  9. Design a stack that supports getMin() in O(1) time and O(1) extra space

    Question: Design a Data Structure SpecialStack that supports all the stack operations like push(), p ...

  10. wpf进程间通讯

    wpf进程间通讯 在联想智能识别项目中,需要用到进程间通讯,并且是低权限向高权限发送消息.首先声明一下,此项目是wpf的. 首先先简要说一下什么时候会用到进程间通讯,如:在Windows程序中,各个进 ...