Datatable.Select()用法简介
DataTable是我们在进行开发时经常用到的一个类,并且经常需要对DataTable中的数据进行筛选等操作,下面就介绍一下Datatable中经常用到的一个方法——Select,微软提供了四个函数的重载,分别是
Select()
Select(string filterExpression)
Select(string filterExpression, string sort)
Select(string filterExpression,string sort, DataViewRowState record States)。
1) Select()——获取所有 System.Data.DataRow 对象的数组。
2) Select(string filterExpression)——按照主键顺序(如果没有主键,则按照添加顺序)获取与筛选条件相匹配的所有 System.Data.DataRow 对象的数组。
3) Select(string filterExpression, string sort)——获取按照指定的排序顺序且与筛选条件相匹配的所有 System.Data.DataRow 对象的数组。
4) Select(string filterExpression, string sort, DataViewRowState recordStates)——获取与排序顺序中的筛选器以及指定的状态相匹配的所有 System.Data.DataRow 对象的数组。
下面是对这些方法进行演示的示例:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace TestDataTableSelect
{
class Program
{
static DataTable dt = new DataTable();
static void Main(string[] args)
{
DataColumn dc1 = new DataColumn("id");
dc1.DataType=typeof(int);
DataColumn dc2 = new DataColumn("name");
dc2.DataType=typeof(System.String);
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
for (int i = 1; i <=10;i++ )
{
DataRow dr = dt.NewRow();
if (i <= 5)
{
dr[0] = i;
dr[1] = i + "--" + "hello";
}
else
{
dr[0] = i;
dr[1] = i + "--" + "nihao";
}
dt.Rows.Add(dr);
}
Select();
Select("id>='3' and name='3--hello'");//支持and
Select("id>='3' or id='1'");//支持or
Select("name like '%hello%'");//支持like
Select("id>5","id desc");
Select("id>5", "id desc",DataViewRowState.Added);
}
private static void Select()
{
DataRow[] arrayDR = dt.Select();
foreach(DataRow dr in arrayDR)
{
Console.WriteLine(dr[0].ToString()+" "+dr[1].ToString());
}
Console.ReadLine();
}
private static void Select(string filterExpression)
{
DataRow[] arrayDR = dt.Select(filterExpression);
foreach (DataRow dr in arrayDR)
{
Console.WriteLine(dr[0].ToString() + " " + dr[1].ToString());
}
Console.ReadLine();
}
private static void Select(string filterExpression, string sort)
{
DataRow[] arrayDR = dt.Select(filterExpression,sort);
foreach (DataRow dr in arrayDR)
{
Console.WriteLine(dr[0].ToString() + " " + dr[1].ToString());
}
Console.ReadLine();
}
private static void Select(string filterExpression, string sort, DataViewRowState recordStates)
{
DataRow[] arrayDR = dt.Select(filterExpression, sort,recordStates);
foreach (DataRow dr in arrayDR)
{
Console.WriteLine(dr[0].ToString() + " " + dr[1].ToString());
}
Console.ReadLine();
}
}
}
注意事项:上面的Select操作是大小写不敏感的(记录的字段不敏感),如果需要区分大小写,需要将DataTable的caseSensitive属性设为true。
Datatable.Select()用法简介的更多相关文章
- C# Datatable.Select()用法简介
dt为一个DataTable,以dt为例说明dt.select()方法的功能: 1.dt.Select() 获取所有行数 例:Datarow[] drs=dt.Select(); 此时drs为dt数据 ...
- C# DataTable Select用法
DataRow[] dr = ds.Tables[0].Select("列名='该列你要查询的值'"); DataRow[] dr = ds.Tables[0].Select(&q ...
- DataTable中的select()用法
1.在DataTable中执行DataTable.Select("条件")返回DataTable // <summary> // 执行DataTable中的查询返回新的 ...
- SQL Server游标 C# DataTable.Select() 筛选数据 什么是SQL游标? SQL Server数据类型转换方法 LinQ是什么? SQL Server 分页方法汇总
SQL Server游标 转载自:http://www.cnblogs.com/knowledgesea/p/3699851.html. 什么是游标 结果集,结果集就是select查询之后返回的所 ...
- Datatable的查找和排序(Datatable.Select)
Datatable 是一种常用的数据结构.数据类型有点类似于数据库中的表结构.在没有使用优秀的orm框架前,大部分的数据库的数据都是先变为Datatable 然后再通过代码转换变成 object. ...
- DataTable.Compute()用法
DataTable.Compute()用法 2010-04-07 11:28 一.DataTable.Compute()方法說明如下 作用: 计算用来传递筛选条件的当前行上的给定表达 ...
- C# DataTable.Select() 筛选数据
有时候我们需要对数据表进行筛选,微软为我们封装了一个公共方法, DataTable.Select(),其用法如下: Select() Select(string filterExpression) S ...
- MSSQL Sql加密函数 hashbytes 用法简介
转自:http://www.maomao365.com/?p=4732 一.mssql sql hashbytes 函数简介 hashbytes函数功能为:返回一个字符,通过 MD2.MD4.MD5. ...
- C# DataTable.Compute()用法
DataTable.Compute()用法 2010-04-07 11:28 一.DataTable.Compute()方法說明如下 作用: 计算用来传递筛选条件的当前行上的给定表达 ...
随机推荐
- C#全屏截图
Image baseImage = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); ...
- 【架构】SpringCloud JHipster -微服务相关资料
SpringCloud-微服务相关资料 基于Spring Boot和Spring Cloud实现微服务架构学习(四)-Spring Cloud总结 - zeb_perfect的专栏 - 博客频道 - ...
- WebRequest多线程 超时问题
using System; using System.Collections; using System.Collections.Generic; using System.Net; using Sy ...
- Foreda8上安装Ant1.9.2
Ant在Win上安装很简单,解压拷贝+设置Ant_Home,在Linux上差不多也是这两步. 首先下载apache-ant-1.9.2-bin.tar.gz. 然后解压tar xvzf apache- ...
- iOS单元測试:Specta + Expecta + OCMock + OHHTTPStubs + KIF
框架选择 參考这篇选型文章,http://zixun.github.io/blog/2015/04/11/iosdan-yuan-ce-shi-xi-lie-dan-yuan-ce-shi-kuang ...
- 成员函数的const究竟修饰的是谁
demo <pre name="code" class="cpp">class Test { public: const void OpVar(in ...
- ArcMap概化之消除真曲线
在地理国情项目中,异常折线检查结果中,有报错为:几何类型为esriGeometryCircularArc不合法,而属性表中几何类型(Shape)内容为 "面",这是为何? 作为GI ...
- Appium Python 四:怎样获取APP的Package以及Activity
看到一篇很好的博客:[Android测试][随笔]获得App的包名和启动页Activity 除了博客上的方法,我还找到两种方法: 方法一:aapt 前提需要使用SDK Manager.exe 下载 A ...
- -Prefix.pch has been modified 的错误修复
方法一: 选择 Product > Clean 然后重新编译--运行: 方法二: 找到-Prefix.pch文件,把中间的 #ifdef __OBJC__ #import <UIKit/U ...
- python mongodb ubuntu
mongodb install: sudo apt-get install mongodb Install pip 1. $ sudo apt-get install python-pip pytho ...