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. 【java工具类】生成二维码

    /** * 生成二维码图片 * @param text 扫描二维码后跳转的url * @param width 图片宽度 * @param height 图片高度 * @param filePath ...

  2. VSCode支持jsx自动补全

    点击settings.json中编辑, 把这段话加上去就可以了 "emmet.includeLanguages": { "javascript": " ...

  3. 在JS中统计函数执行次数

    一.统计函数执行次数 常规的方法可以使用 console.log 输出来肉眼计算有多少个输出 不过在Chrome中内置了一个 console.count 方法,可以统计一个字符串输出的次数.我们可以利 ...

  4. 读取hibernate.cfg.xml文件

    new Configuration().configure().buildSessionFactory() new Configuration()默认是读取hibernate.properties 所 ...

  5. LR报:Error 27796 Failed to connect to server

    原错误信息: Action.c(58): Error -27796: Failed to connect to server "10.1.44.68:7013": [10048] ...

  6. webpack安装低于4版本(没有配置webpack.config.js)

    webpack安装低于4版本(没有配置webpack.config.js) webpack 无需配置输出参数-o 低版本  1.初始化项目 npm init -y 初始化项目 2.安装webpack@ ...

  7. douyu danmu test c#

    using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Text.Regul ...

  8. Python基本语法_文件操作_读写函数详解

    目录 目录 软件环境 file文件对象 open文件操作 读文件 read读取所有文件内容 readline获取一行内容 readlines读取所有文件内容 readreadlinereadlines ...

  9. webpack打包文件解析

    /** * 对于没有代码分割的,webpack会打包生成main.js一个大的自执行函数 * 函数参数是一个对象,键值分别是路径和模块的函数 * 函数内部定义了一些方法,包括__webpack_req ...

  10. C++/C#结构体转化-二维数组

    String To bytes typedef struct VidyoClientInEventGroupChat_ { /*! Message (contents) to be sent to a ...