C#中DataTable实现筛选查询的示例
更新时间:2023年04月12日 10:30:01 作者:划]破
本文主要介绍了C#中DataTable实现筛选查询的示例,主要是DataTable进行过滤筛选,常用的一些方法为:Select,dataview,具有一定的参考价值,感兴趣的可以了解一下
说明:
DataTable进行过滤筛选,常用的一些方法为:Select,dataview
1. 直接循环遍历获取
// 假设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")//查询条件
{
//进行操作
}
}
2. 使用LinQ
// 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]);
}3. 利用DataView的RowFilter 实现筛选
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筛选查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
C#中图片.BYTE[]和base64string的转换方法
下面小编就为大家带来一篇C#中图片.BYTE[]和base64string的转换方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-02-02
通过 C#/VB.NET 代码将 Excel 工作表拆分为单独的文件
这篇文章主要介绍了通过C#/VB.NET代码将Excel工作表拆分为单独的文件,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下2022-09-09


最新评论