博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在DataTable中执行DataTable.Select("条件")返回DataTable;
阅读量:6583 次
发布时间:2019-06-24

本文共 1572 字,大约阅读时间需要 5 分钟。

转:

 

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

转载于:https://www.cnblogs.com/smile-wei/p/3723057.html

你可能感兴趣的文章
贷款计算公式——java实现
查看>>
教你给IDEA安装插件
查看>>
在windows上安装curl
查看>>
使用EasyWechat为“WX公众号”增加一个访问统计的方案实现
查看>>
数据库的工具类
查看>>
Spring Cloud Consul综合整理
查看>>
95后美女当“妈”,养了对机器人双胞胎
查看>>
Dart 学习笔记2 - numbers数字 ,operator运算符号,if else 条件语句,for loop循环语句,mac环境安装Dart2...
查看>>
MaxCompute JOIN优化小结
查看>>
3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令
查看>>
关于css的水平,垂直居中
查看>>
修改(切换)当前数据库的UNDO表空间
查看>>
使用VM Tools让VMware虚拟机里的ubuntu能够共享Windows系统的文件夹
查看>>
怎样实现短信验证功能
查看>>
【2018.06.11学习笔记】【linux高级知识 12.13-12.16】
查看>>
阿里云宣布进入 Serverless 容器时代,推出弹性容器实例服务 ECI
查看>>
接收三个班级的各四名学员的成绩信息,然后计算每个班级学员的平均分
查看>>
分布式服务框架之远程通讯技术及原理分析
查看>>
思维导图XMind 8 Pro 绿化方法(附序列号)
查看>>
Redis
查看>>