下面是关于“C#中DataTable实现筛选查询的示例”的完整攻略。
1. DataTable简介
DataTable是C#中常用的数据表结构,类似于SQL中的表格。它可以存储多行数据,每行有多个列,每列对应一种数据类型。DataTable提供了许多方法和属性用于访问和操作数据。
2. DataTable实现筛选查询
在DataTable中,可以使用Select方法实现筛选查询。Select方法接受一个字符串参数,该参数表示所需的筛选条件,返回满足条件的DataRow数组。
下面是一个示例,演示如何使用Select方法筛选DataTable中符合条件的数据行:
// 创建DataTable,并添加两列
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
// 向DataTable中添加数据
dt.Rows.Add("Tom", 18);
dt.Rows.Add("Jerry", 20);
dt.Rows.Add("Bob", 22);
// 使用Select方法查询年龄大于20的数据行
DataRow[] rows = dt.Select("Age > 20");
// 输出查询结果
foreach (DataRow row in rows)
{
Console.WriteLine(row["Name"] + " " + row["Age"]);
}
输出结果为:
Bob 22
在上面的代码中,我们首先创建了一个包含两列数据的DataTable,并向其中添加了三行数据。然后,使用Select方法查询年龄大于20的数据行,最后将查询结果输出。
除了基本的比较运算符(如等于、大于、小于等),Select方法还支持以下扩展运算符:
- BETWEEN:在某个范围之间
- LIKE:类似于SQL中的LIKE运算符,支持通配符%
- IN:在某个集合中
下面是另一个示例,演示如何使用这些扩展运算符:
// 创建DataTable,并添加两列
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
// 向DataTable中添加数据
dt.Rows.Add("Tom", 18);
dt.Rows.Add("Jerry", 20);
dt.Rows.Add("Bob", 22);
// 使用Select方法查询年龄在20到25之间的数据行
DataRow[] rows = dt.Select("Age BETWEEN 20 AND 25");
// 输出查询结果
foreach (DataRow row in rows)
{
Console.WriteLine(row["Name"] + " " + row["Age"]);
}
// 使用Select方法查询名字以J开头的数据行
rows = dt.Select("Name LIKE 'J%'");
// 输出查询结果
foreach (DataRow row in rows)
{
Console.WriteLine(row["Name"] + " " + row["Age"]);
}
// 使用Select方法查询名字为Tom或Bob的数据行
rows = dt.Select("Name IN ('Tom', 'Bob')");
// 输出查询结果
foreach (DataRow row in rows)
{
Console.WriteLine(row["Name"] + " " + row["Age"]);
}
输出结果为:
Bob 22
Jerry 20
Tom 18
Bob 22
Tom 18
在上面的代码中,我们分别使用BETWEEN、LIKE和IN三种扩展运算符查询数据,并将查询结果输出。
3. 总结
本文介绍了如何使用C#中的DataTable实现筛选查询。通过Select方法以及一些扩展运算符,可以灵活地过滤、查找DataTable中的数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中DataTable实现筛选查询的示例 - Python技术站