zoukankan      html  css  js  c++  java
  • DataTable的Select方法

    1.在DataTable中执行DataTable.Select("条件")返回DataTable;

    // <summary>
    // 执行DataTable中的查询返回新的DataTable
    // </summary>
    // dt 是源数据DataTable
    // condition 是查询条件

    DataTable newdt = new DataTable();
    newdt = dt.Clone(); // 克隆dt 的结构,包括所有 dt 架构和约束,并无数据;
    DataRow[] rows = dt.Select(conditions); // 从dt 中查询符合条件的记录;
    foreach (DataRow row in rows)  // 将查询的结果添加到dt中;
    {
           newdt.Rows.Add(row.ItemArray);
    }

    有网友说也可以这样:(大家可以试试)

    DataTable newdt = new DataTable();
    newdt=dt.Clone();
    DataRow[] dr = dt.Select(condition);
    for(int i=0;i<dr.Length;i++)
    {
    newdt.ImportRow((DataRow)dr[i]);
    }

    2.关于DataTable.Select();

    Select方法:  
      Select();//全部查出来  
      Select(过滤条件);//根据过滤条件进行过滤,如Select("columnname1   like   '%xx%'");  
      Select(过滤条件,排序字段);//过滤,并排序,如Select("columnname1   like   '%xx%'",columnname2);

    完成一个查询,返回一个DataTable后,很多时候都想在查询结果中继续搜索。这时可以使用DataTable.Select方法对结果进行再查询。
    Select方法有4个重载,我们经常用到的就是DataTable.Select(String) ;

    下面就说说带一个参数的DataTable.Select(String):
    这个String的参数是查询的限定式。相当于SQL查询语言中的WHERE语句(不含WHERE),其语法符合SQL语言语法。 (网友的说法)我觉得就是类似sql的语法而已。

    不过我试了试,不支持BETWEEN AND,举个成功的例子:

    //FromTime 和ToTime 是两个DateTime类型的变量;occurTime是dTable里面的列名;

    DataRow[] datarows = dTable.Select("occurTime >= '" + FromTime + "' and occurTime <= '" + ToTime+"'");

    DataTable.Select()方法里面支持简单的过滤和排序,不支持复杂的条件过滤和排序。里面的字符串必须是列名和数据,以及>,<,=,<>等关系运算符。举几个例子:

    DataRow[]   row   =   Detailtb.Select("WZMC='"+MaterialName+"' and   CZ='"+MaterialTexture+"   and   GG='"+MaterialSpecs+"'");   

    DataTable.Select("City Like 'B%'");

    DataTable.Select("name='" + a +"'");

    一定要注意单引号的问题;我之前就是把变量用双引号括起来了,一直出错,后来在网上查,发现要先有双引号,再用单引号;即‘“变量”’;

  • 相关阅读:
    java编译错误No enclosing instance of type TestFrame is accessible. Must qualify the allocation with an enclosing instance of type TestFrame (e.g. x.new A(
    java 2中创建线程方法
    动态规划基本思想
    关于eclipse编译一个工程多个main函数
    java Gui初识
    Eclipse中java项目的打包
    java 播放声音
    把资源文件夹导入到eclipse中
    Java建立JProgressBar
    How to grant permissions to a custom assembly that is referenced in a report in Reporting Services
  • 原文地址:https://www.cnblogs.com/shineblog/p/2684417.html
Copyright © 2011-2022 走看看