文章类型: .NET
关键词: C#,DataTable,Select,DataView,RowFilter
内容摘要: 介绍了如何通过DataTable进行数据的筛选与过滤,在此使用了Select函数

C#中对于DataTable的Select筛选用法

2015/7/14 15:46:08    来源:apple    阅读:

DataTable 用法

select:

表达式,排序查询:

searchString += "CreatTime < '" + EndTime.Text + " 23:59:59'";

Select(searchString, "CreatTime desc");

模糊查询:

Select("NAME LIKE '%" + SearchStr + "%'")    '只是从数据表中映射

与条件:

DataTable dt1;

DataView dv = new DataView(dt1);

dv.RowFilter = "palte='1' AND errorcode='1'";

DataTable dt_New = dv.ToTable();

 

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类型的变量;occurTimedTable里面的列名;

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 +"'");

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

 

↑ 上一篇文章:键值对按键与按值排序方法 关键词:Dictionary,SortedList,键排序,值排.. 发布日期:2015/7/14 15:43:44
↓ 下一篇文章:查找文章的相关文章的思路分析及实现 关键词:.net,C#,SQL,server,Data,Tabl.. 发布日期:2015/7/14 15:47:35
相关文章:
C#基础 第十六章 指导学习:课程总复习 关键词:C#语法,条件,分支,循环,ADO.NET,insert,delete,update,selec.. 发布日期:2015-07-25 17:53
C#的WinForm开发中AutoComplete 输入提示、自动补全 关键词:C#,CSharp,WinForm,TextBox,AutoComplete,输入提示,自动补全.. 发布日期:2016-01-21 21:08
Java、C#编程逻辑训练题(见上一篇)的参考答案 关键词:C#,C,Sharp,Java,java,编程逻辑,训练题,if,switch,while,fo.. 发布日期:2015-07-22 16:34
相关目录:.NETDATABASE
我要评论
正在加载评论信息......