zoukankan      html  css  js  c++  java
  • 项目中遇到的 linq datatable select

    1如何使用DataTable.Select选出来的Rows生成新的DataTable?
    DataTable dt = 数据源;
    DataTable dtt = new DataTable();
    dtt=dt.Clone();//拷贝框架
    DataRow[] dr = dt.select("条件");
    for(int i=0;i<dr.length;i++)
    {
    dtt.ImportRow((DataRow)dr[i]);
    }
    this.DataGrid.DataSource=dtt;
    this.DataGrid.DataBind();

    在DataTable中执行DataTable.Select("条件")扩展

    下面就说说带一个参数的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 +"'");
    一定要注意单引号的问题;我之前就是把变量用双引号括起来了,一直出错,后来在网上查,发现要先有双引号,再用单引号;即‘“变量”’;

    2.
    var item = from n in lists
    select new Customer
    {
    ID = n.A,
    Name = n.B,
    Country = n.C,
    Price = n.D
    };

    3.
    // var rows = dt.AsEnumerable()
    //.Select(p => new
    //{
    // Stock = p.Field<int>("Stock"),
    // ProductCode = p.Field<string>("ProductCode"),
    // CreatedTime = p.Field<DateTime>("CreatedTime")
    //}).ToList();

    4.var query=from t in dt.AsEnumerable()
    where Convert.ToDateTime(t.Field<string>("日期")) == new DateTime(2011,1,5)
    select t;

  • 相关阅读:
    /etc/vim/vimrc的一个的配置
    vim上下左右键输出A B
    数据结构-栈的实现之行编译器核心实现
    数据结构-栈的实现之括号匹配检测
    数据结构-栈的实现之数制转换
    数据结构-线性表的链式结构
    数据结构-栈的顺序结构两种方式
    简介
    数据结构-线性表的顺序结构
    NHibernate系列文章十六:使用程序集管理NHibernate项目(附程序下载)
  • 原文地址:https://www.cnblogs.com/ChineseMoonGod/p/5208146.html
Copyright © 2011-2022 走看看