目录1. 直接循环遍历获取2. 使用LinQ3. 利用DataView的RowFilter 实现筛选说明: DataTable进行过滤筛选,常用的一些方法为:Select,
说明:
DataTable进行过滤筛选,常用的一些方法为:Select,dataview
// 假设dt是由"SELECT C1,C2,C3 FROM T1"查询出来的结果
DataTable dt = new DataTable();
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["C1"].ToString() == "abc")//查询条件
{
//进行操作
}
}
// DataTable.Select(条件[和Db的sql筛选基本相似])
DataTable dt = new DataTable();
DataRow[] drArr = dt.Select(" C1='abc' "); //查询
//DataTable.Select( "ID=" + id )
//多条件,如:DataTable.Select("ID=" + id +" and name=" +name)
// 模糊筛选
DataRow[] drArr = dt.Select("C1 LIKE 'abc%'");
// 另一种模糊查询的方法
DataRow[] drArr = dt.Select("'abc' LIKE C1 + '%'", "C2 DESC");
// 筛选后并排序
DataRow[] drArr = dt.Select("C1='abc'", "C2 DESC");
// DataRow如何转为DataTable呢?
// 思路:DataRow赋值给新的DataTable
DataTable dtNew = dt.Clone();
for (int i = 0; i < drArr.Length; i++)
{
dtNew.ImportRow(drArr[i]);
}
DataTable dataSource = new DataTable();
DataView dv = dataSource.DefaultView;
dv.RowFilter = "columnA = 'abc'";
//1.过滤后直接获取DataTable
DataTable newTable1 = dv.ToTable();
//2.设置新DataTable的TableName
DataTable newTable2 = dv.ToTable("NewTableName");
//3.设置新表是否过滤重复项,拥有的列的列名以及出现的顺序
//即可以设置新表的字段。但是字段名肯定是老表dataSource中拥有的。
DataTable newTable3 =
dv.ToTable(true, new string[] { "columnA,columnF,columnC" });
//4.综合了2.3两点。
DataTable newTable4 =
dv.ToTable("NewTableName", true, new string[] { "columnA,columnF,columnC" });
到此这篇关于C#中DataTable实现筛选查询的示例的文章就介绍到这了,更多相关C# DataTable筛选查询内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: C#中DataTable实现筛选查询的示例
本文链接: https://lsjlt.com/news/208713.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0