DataTable的Select方法详解
在使用DataTable的时候,涉及到筛选的时候,常常用到一个参数叫Select,而Select提供了四个函数的重载:
- Select()——获取所有 System.Data.DataRow 对象的数组
- Select(string filterExpression)——按照主键顺序(如果没有主键,则按照添加顺序)获取与筛选条件相匹配的所有 System.Data.DataRow 对象的数组
- Select(string filterExpression, string sort)——获取按照指定的排序顺序且与筛选条件相匹配的所有 System.Data.DataRow 对象的数组
- Select(string filterExpression, string sort, DataViewRowState recordStates)——获取与排序顺序中的筛选器以及指定的状态相匹配的所有 System.Data.DataRow 对象的数组
测试代码:
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
DataTable dt = new DataTable();
dt.Columns.Add("USER_DEPARTMENT", typeof(string));
dt.Columns.Add("USER_NAME", typeof(string));
dt.Columns.Add("USER_PWD", typeof(string));
dt.Columns.Add("USER_AGE", typeof(int));
dt.Rows.Add(new object[] {"销售部","白起","123456",25 });
dt.Rows.Add(new object[] { "销售部", "赵牧", "123456", 22 });
dt.Rows.Add(new object[] { "生产部", "李斯", "123456", 27 });
dt.Rows.Add(new object[] { "生产部", "商鞅", "123456", 20 });
//Select() 获取所有的数组 System.Data.DataRow 对象
DataRow[] dataRows = dt.Select();
foreach(DataRow row in dataRows)
{
Console.WriteLine(row["USER_DEPARTMENT"]+" "+row["USER_NAME"]+" "+ row["USER_AGE"]);
}
Console.WriteLine("-----------------------------");
//Select(string filterExpression) 获取所有的数组 System.Data.DataRow 与筛选条件匹配的对象
string strDept = "销售部";
DataRow[] dataRows1 = dt.Select("USER_DEPARTMENT='"+ strDept+"'");
foreach (DataRow row in dataRows1)
{
Console.WriteLine(row["USER_DEPARTMENT"] + " " + row["USER_NAME"] + " " + row["USER_AGE"]);
}
Console.WriteLine("-----------------------------");
//Select(string filterExpression, string sort) 获取所有的数组 System.Data.DataRow 相匹配的筛选条件,在指定的排序顺序中的对象
DataRow[] dataRows2 = dt.Select("USER_DEPARTMENT='" + strDept + "'", "USER_AGE asc");
foreach (DataRow row in dataRows2)
{
Console.WriteLine(row["USER_DEPARTMENT"] + " " + row["USER_NAME"] + " " + row["USER_AGE"]);
}
Console.ReadLine();
}
}
}
运行结果:
运行结果:
销售部 白起 25
销售部 赵牧 22
生产部 李斯 27
生产部 商鞅 20
-----------------------------
销售部 白起 25
销售部 赵牧 22
-----------------------------
销售部 赵牧 22
销售部 白起 25
版权声明:
作者:兴兴
文章:DataTable的Select方法详解
链接:https://www.networkcabin.com/notes/2896
文章版权归本站所有,未经授权请勿转载。
作者:兴兴
文章:DataTable的Select方法详解
链接:https://www.networkcabin.com/notes/2896
文章版权归本站所有,未经授权请勿转载。
THE END