C#中DataTable实现筛选查询的示例
短信预约 -IT技能 免费直播动态提醒
说明:
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筛选查询内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341